最後の n 行を除く bash 履歴をクリアする

最後の n 行を除く bash 履歴をクリアする

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名前を変更した場合でも、この変数は常に履歴ファイルを指すため、この変数を使用しています。

関連情報