bash履歴から長すぎるコマンドを削除する簡単な方法(bashコマンドなど)はありますか?一部の長いコマンドはデフォルトでレンダリングされるため、CTRL使用Rできません。 (理想的には、今後も長すぎるコマンドを履歴に保存しないことをお勧めします。)
ベストアンサー1
次のように bash 関数を作成できます。
myhistory(){
history -w
gawk -i inplace '{if(length($0)<60)print}' "$HISTFILE"
history -c
history -r
}
メモリ内の履歴をファイルに保存したいときに実行し、
history -w
gnuを使用してファイルをawk
編集し、制限(ここでは60)より短い行だけを書き換えます。メモリの記録を消去し、-c
ファイルからメモリに戻ります-r
。
入力されたすべてのコマンドに対してこれを行うには、すべてのプロンプトの前に呼び出されるように設定できますPROMPT_COMMAND='myhistory'
。