Похожие вопросы

вывод awk печать в два отдельных файла
Как я могу сделать это заявление awk работать на Windows?
Баш - преобразовать все экземпляры формат даты ДД-ММ-гггг гггг-ММ-ДД [закрыт]
grep строки строки из файла
показать повторяющиеся данные с помощью awk print $2,$3,$4 в одной строке
Как закомментировать несколько строк, соответствующих регулярному выражению, используя sed или awk
Awk, но выводить только часть поля
Линии печатания AWK и сбрасывать некоторые из их
Как извлечь конкретные данные из таблицы?
Извлечение IP-адресов в каждой строке файла в оболочке
Как получить длительность видео в секундах?
Как я могу сделать оглавление для документа markdown с помощью Python/AWK / SED?
Как добавить префикс к каждой строке определенного столбца в файле csv с помощью командной строки в linux
Как удалить все вхождения значений в одном списке из другого списка?
Использование sed для сжатия массивов JSON

Awk, но выводить только часть поля

Я занимаюсь только частью определенного поля (Имя хоста) в строке журнала и хотел бы напечатать все уникальные вхождения указанной части. В настоящее время я делаю что-то вроде:

    zcat $file | awk '~/f/ {print }' | sort | uniq -c | sort -rn

проблема в поле 14 будет очень длинной и содержать кучу вещей, как

/=/%%/25284687/hostname/auhga/giu/2985729/%/etc...

имена хостов могут отличаться, и я хочу печатать только имена хостов uniqe, сортировать их и подсчитывать их и т. д. Как я могу лучше структурировать свою команду awk для достижения этого? Важно для внимание, все добавляя и добавляя /имя/ часть варьируется.

5
задан glenn jackman
источник

1 ответов

если имена хостов всегда между 4-м и 5-м / на awk вывод, то этот процесс будет извлекать их:

cut -d / -f 5

поместите его сразу после оригинального awk.

0
отвечен Kamil Maciorowski 2018-06-18 20:23:31
источник

Другие вопросы awk bash linux printing