清除 bash 历史记录(最后 n 行除外)

清除 bash 历史记录(最后 n 行除外)

我有以下命令来清除 bash 历史记录的最后一个条目(终端历史记录/命令行历史记录)。我的 Ubuntu 14.04 Trusty Tahr。

sed -i '$d' ~/.bash_history

但我想保留最后的1,2...n条目并删除其余的条目,我该如何实现呢?

可以用sed//或者history其他awk任何命令,只要满足要求就没有问题。

答案1

如果要保留最后 N 行,请使用tail(例如最后 20 行):

tail -n 20 "$HISTFILE" > ff && mv ff "$HISTFILE"

我使用该HISTFILE变量,因为它始终指向您的历史文件,即使您更改了其名称。

相关内容