我知道如何在zsh中获得最常用的shell命令
history 1 | awk '{$1="";print substr($0,2)}' | sort | uniq -c | sort -n | tail -n 20
但是有办法限制自己说过去两三个月吗?
我需要这个,因为我想为我当前使用最多的命令创建别名。
setopt extended_history
。 如果启用了extended_history
,则history -i
将以ISO8601`yyyy-mm-dd hh:mm'格式显示完整的日期戳。可以将这种格式的日期作为字符串进行比较。因此,只需更改您的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
选项,则将无法正常使用。
您也可以使用date
命令自动获取较早的日期。