最近x个月内最常用的命令

问题描述 投票:0回答:1

我知道如何在zsh中获得最常用的shell命令

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

但是有办法限制自己说过去两三个月吗?

我需要这个,因为我想为我当前使用最多的命令创建别名。

zsh alias
1个回答
1
投票
history]有几个标志来显示日期和时间戳。为此,您必须在[[.zshrc文件中添加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_DUPSHIST_IGNORE_DUPS选项,则将无法正常使用。

您也可以使用date命令自动获取较早的日期。    
© www.soinside.com 2019 - 2024. All rights reserved.