Наиболее часто используемые команды за последние x месяцев - PullRequest
0 голосов
/ 26 мая 2020

Я знаю, как получить наиболее часто используемые команды оболочки в zsh с помощью

history 1 | awk '{$1="";print substr($0,2)}' | sort | uniq -c | sort -n | tail -n 20

, но есть ли способ ограничить себя, скажем, последние два или три месяца ?

Мне это нужно, потому что я хотел бы создать псевдонимы для команд, которые я сейчас использую чаще всего.

1 Ответ

1 голос
/ 26 мая 2020

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 для автоматического получения более старой даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...