建立 bash 歷史記錄的完整且按字母順序排序的 .txt 文件

建立 bash 歷史記錄的完整且按字母順序排序的 .txt 文件

我想要一個完整且排序的 bash 歷史清單。但也存在一些問題:

  1. 透過這樣做,history列表永遠不會顯示完整列表,並且僅顯示 1000 個命令。
  2. 在我的$HOME目錄中有一個檔案名為.bash_歷史記錄 顯示 2000 個結果。
  3. 當我想做一個排序時 從我的歷史記錄中歸檔我所做的:

    history | sort > History.txt
    

    但由於數字的原因,命令不是按字母順序排序,而是按數字排序。

有什麼辦法可以做我想做的事嗎?

答案1

sort可以按使用者指定的欄位對輸入進行排序-k,因此嚴格來說,這樣的內容就是您正在尋找的內容。

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

此外,命令輸出中的可用內容history與記錄中的內容之間通常存在差異~/.bash_history,因為後者不會在每個命令後更新(通常僅在登出時更新),因此 usinghistory | sort ..可以更好地為您提供當前視圖。

答案2

怎麼樣:

cat ~/.bash_history | sort > Sorted_history.txt

要擁有無限的 bash 歷史記錄,請查看此 QA:

https://stackoverflow.com/questions/9457233/unlimited-bash-history

相關內容