清除 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變量,因為它始終指向您的歷史文件,即使您更改了其名稱。

相關內容