LinuxForum.Fans
Тема

как оставить часть строки?

Автор: br41n 4 сообщений 3616 просмотров
#302392

Добрый день.

Имеется некий лог-файл. Строчки вида:

01.01.01 [INFO]: blabla, matching user agent 'user-agent-string', logging 'MAIN' blabla


необходимо убрать все лишнее и оставить только:
user agent 'user-agent-string'

явных разделителей полей нет. Количество символов до и после нужного участка плавающее. Однако нужный участок строки всегда вида "*user agent 'useragent'*"

Никак сообразить не могу.

#302518

Вобщем, после долгих мучений родил нечто:

text
 sed "s/.*user agent '\([^']*\)'.*/\1/"

Мне достаточно. И работает как мне надо.
Спасибо за помощь :)

#302520

А можно и вот так:

text
cut -d "," -f2 | cut -d " " -f3,4,5
#303995

"Vascom" написал:
А можно и вот так:
Это не сработает, если там запятых тоже плавающее количество, что скорее всего так и есть.
Войдите или зарегистрируйтесь, чтобы ответить.