history
в zsh имеют несколько флагов для отображения даты и времени. Чтобы это сработало, вам нужно добавить setopt extended_history
в ваш .zshr c файл.
Если вы включили extended_history
, history -i
будет отображать полные отметки времени и даты в формате ISO8601 «гггг-мм-дд чч: мм». Даты в этом формате можно сравнивать как строки. Поэтому просто измените свой сценарий awk и используйте его для выбора только строк после некоторой даты.
history -i 1 | awk '{ if ($2 >= "2020-05-01") { $1=$2=$3="";print $0; } }' | sort | uniq -c | sort -n -r | head -n 20
Имейте в виду, что если у вас включены параметры HIST_IGNORE_ALL_DUPS
или HIST_IGNORE_DUPS
, это не будет работать должным образом *. 1014 *
Вы также можете использовать команду date
для автоматического получения более старой даты.