Предполагая, что вы используете 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 запускается с использованием последнего, поэтому таймер имеет приоритет.
При обоих подходах ваши изменения будут сохраняться при обновлении пакета.
Вы можете использовать простую команду 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
С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.