Sed ile “]” karakterinden sonra tek bir satırdaki tüm karakterler nasıl silinir?


13

Sed ile "]" karakterinden sonra tek bir satırdaki tüm karakterler nasıl silinir?

Kedi, awk kullanarak bazı dosya grep için çalışıyorum. Şimdi oneliner'ım bana şöyle bir şey veriyor

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

Şimdi "]" karakterinden sonra hepsini silmek istiyorum ("]" ile). Sadece çıktımda istiyorum 121.122.121.111.

Ben sed için o belirli örnek için googling ama bu örneklerde herhangi bir yardım bulamadık.

Yanıtlar:


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

Yani böyle satırlarla dolu bir dosyanız varsa,

 sed 's/].*//' filename

12

Peki cutyerine:

cat logfile | cut -d "]" -f1

3

Gibi bir şey

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

ne istersen yapmalısın. \(.*\)]Tüm metni ele geçirecek ]bir hatırlanan desen ve sonra içine \1bütün hat ikamesi bunu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.