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

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

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

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

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

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

14
задан glenn jackman
24.01.2023 15:08 Количество просмотров материала 3531
Распечатать страницу

1 ответ

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

cut -d / -f 5

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

0
отвечен Kamil Maciorowski 2023-01-25 22:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх