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

13

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

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

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

Теперь я хочу удалить все после символа «]» (с «]»). Я хочу только 121.122.121.111в моем выводе.

Я гуглил для этого конкретного примера sed, но не нашел никакой помощи в этих примерах.

B14D3
источник

Ответы:

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

Так что если у вас есть файл, полный строк, как это вы можете сделать

 sed 's/].*//' filename
Майк
источник
12

Как насчет cutвместо этого:

cat logfile | cut -d "]" -f1
Свен
источник
3

Что-то вроде

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

должен делать то, что вы хотите. \(.*\)]Будет захватывать весь текст вплоть до ]в запоминающемся рисунок , а затем \1заменяет его в течение всей линии.

user9517
источник