シェルの履歴を新しい順に並べ替えて重複を削除するにはどうすればいいですか?

シェルの履歴を新しい順に並べ替えて重複を削除するにはどうすればいいですか?

私はawkについてよく知らないが、これまでの私の試みは

history | awk '!x[<everything except first column which is the order>]++' | sort -r

答え1

awk である必要はありますか?

history | tail -n 50 | sort -r -n | cut -d " " -f4- | sort -u

基本的に

  1. 数値プレフィックスを使用して履歴を逆順に並べ替える
  2. スペースを削除
  3. 先頭の数字を削除
  4. 重複を削除する

あるいは、これに基づいて次のことを実行することもできます以前に回答した質問

history | sort -rn | sed -e 's/ *[0-9][0-9]* *//' | uniq | less

関連情報