Распечатать подсчет количества вхождений уникального шаблона после каждого вхождения

Предполагая, что вы используете systemd (, который используется по умолчанию в Linux Mint 19 ), вы можете переопределить таймер anacron. Беги

sudo systemctl edit anacron.timer

затем в открывшемся редакторе введите

[Timer]
OnCalendar=
OnCalendar=*-*-* 05..17:00

или любой другой временной диапазон. Пустая запись OnCalendarнеобходима для очистки существующих записей календаря. См. справочную страницу systemd.timeдля получения подробной информации о синтаксисе времени и справочную страницу systemd.timerдля получения подробной информации об определениях таймеров.

Обратите внимание, что, начиная с версии 2.3 -27 ~exp1 пакета, системный таймер по умолчанию работает только между 7 :30 и 23 :30.

В системах, использующих anacron с помощью cron, а не systemd, вы можете переопределить временной диапазон в файле /etc/cron.d/anacron. Если у вас есть и cron, и systemd, anacron запускается с использованием последнего, поэтому таймер имеет приоритет.

При обоих подходах ваши изменения будут сохраняться при обновлении пакета.

5
27.12.2020, 06:18
2 ответа

Вы можете использовать простую команду awk для всей задачи:

awk '/Exception/{a[$0]++} END {for (x in a) print x,a[x]}' file | sort -nk2

Выход

ExceptionD 1
ExceptionA 2
ExceptionB 3

Порядок для ассоциативного массива awkне определен, поэтому обычно вам нужно передать по каналу sort, k2означает сортировку по второму полю.


Другой альтернативой сортировке является использование предопределенной сортировки GNUawkи сортировка по числовому значению по возрастанию:

awk '/Exception/{a[$0]++} END {
        PROCINFO["sorted_in"] = "@val_num_asc"
        for (x in a) print x,a[x]
    }' file

Кроме того, если вы хотите сохранить существующие команды и просто поменять местами два поля, вы можете изменить на:

grep 'Exception' file | sort | uniq -c | awk '{print $2,$1}' | sort -nk2
8
18.03.2021, 22:45

Сperl

perl -lne '$h{$_}++ if /Exception/;
           END{print "$_ $h{$_}" for sort {$h{$a} <=> $h{$b}} keys %h}'

sort {$h{$a} <=> $h{$b}} keys %hбудет сортировать по хеш-значению. Подробности см. в https://perldoc.perl.org/functions/keys.

3
18.03.2021, 22:45

Теги

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