Как удалить все символы в одной строке после «]» с помощью sed?


13

Как удалить все символы в одной строке после "]" с помощью sed?

Я пытаюсь найти какой-нибудь файл, используя cat, awk. Теперь мой oneliner возвращает мне что-то вроде

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заменяет его в течение всей линии.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.