с использованием переменной оболочки в awk и циклом for/while

В качестве дополнительного примечания, если какое-либо из предложенных решений не работает. Убедитесь, что правила маршрутизации вашего маршрутизатора не мешают.

0
09.05.2020, 12:28
1 ответ

Я не совсем понимаю, почему вы хотите передать какие-либо переменные оболочки в awkздесь.

tail "$(date +'%Y%m%d.txt')" |
awk '{ c[$1]++ } END { for (name in c) print name, c[name] }'

tailпо умолчанию извлекает последние 10 строк текста из заданного файла, поэтому-n 10(или устаревший-10)не нужен. Команда dateиспользуется для создания имени файла для чтения.

Код awkиспользует первый столбец в качестве ключа в ассоциативном массиве c, который содержит количество просмотров каждого имени. Счетчик имени увеличивается для каждой строки, прочитанной из файла. В конце выводятся имена и соответствующие счетчики.

Обратите внимание, что здесь нет смысла использовать переменные оболочки.

1
28.04.2021, 23:15

Теги

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