bash 履歴の完全かつアルファベット順に並べられた .txt ファイルを作成する

bash 履歴の完全かつアルファベット順に並べられた .txt ファイルを作成する

bash 履歴の完全かつ整理されたリストが欲しいのですが、いくつか問題があります。

  1. これを実行すると、historyリストには完全なリストが表示されず、1000 個のコマンドのみが表示されます。
  2. 私の$ホームディレクトリには、.bash_履歴 2000 件の結果が表示されます。
  3. 整理したいときは。TXT 履歴からファイルを削除するには、次のようにします。

    history | sort > History.txt
    

    しかし、数字があるため、コマンドはアルファベット順ではなく、数字順に並べられます。

私が望むことを実現する方法はあるでしょうか?

答え1

sortは、ユーザーが指定したフィールドで入力を並べ替えることができるので-k、厳密に言えば、次のようなものが探しているものになります。

history | sort -k2 > History.txt  # or -K3 if you have $HISTTIMEFORMAT, etc set

さらに、コマンドの出力で利用できる内容historyと に記録される内容との間には違いがあることがよくあります~/.bash_history。後者はコマンドを実行するたびに更新されるわけではないため (通常はログアウト時にのみ更新されます)、 を使用するとhistory | sort ..現在のビューを表示するのに適しています。

答え2

いかがでしょうか:

cat ~/.bash_history | sort > Sorted_history.txt

無制限の bash 履歴を取得するには、次の QA を参照してください。

https://stackoverflow.com/questions/9457233/無制限のbash履歴

関連情報