sedで「]」の後の1行のすべての文字を削除する方法は?


13

sedで "]"の後の1行のすべての文字を削除する方法は?

cat、awkを使用してファイルをgrepしようとしています。今、私のワンライナーは私に何かを返します

121.122.121.111] other characters in logs from sendmail.... :)

ここで、「]」文字の後のすべてを削除します(「]」を使用)。121.122.121.111出力にのみ必要です。

私はsedの特定の例についてはグーグルで探していましたが、それらの例には何の助けも見つかりませんでした。

回答:


20
 echo "121.122.121.111] other characters in logs from sendmail...." | sed 's/].*//' 

そのため、そのような行でいっぱいのファイルがある場合は、

 sed 's/].*//' filename


3

何かのようなもの

sed 's|\(.*\)\] .*$|\1|'

あなたがしたいことをすべきです。\(.*\)]すべてのテキストをキャプチャします]思い出したパターンにして、\1行全体の代替こと。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.