Как мне извлечь строки агента пользователя из файла журнала?


12

В настоящее время я запускаю команду, подобную этой, чтобы получить наиболее запрашиваемый контент:

grep "17\/Jul\/2011" other_vhosts_access.log | awk '{print $8}' | sort | uniq -c | sort -nr

Теперь я хочу увидеть строки агента пользователя, но проблема в том, что они содержат несколько пробелов. Вот типичная строка файла журнала. UA - это последний раздел, разделенный кавычками:

example.com:80 [ip] - - [17/Jul/2011:23:59:59 +0100] "GET [url] HTTP/1.1" 200 6449 "[referer]" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30"

Есть ли лучший инструмент, чем awk для этого?

Ответы:


19

Если этот формат согласован и поле действительно заключено в двойные кавычки, вы можете использовать "в качестве разделителя полей awk или cut :

awk -F\" '{print $6}'

или же:

cut -d\" -f 6

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