我想要一個完整且排序的 bash 歷史清單。但也存在一些問題:
- 透過這樣做,
history
列表永遠不會顯示完整列表,並且僅顯示 1000 個命令。 - 在我的$HOME目錄中有一個檔案名為.bash_歷史記錄 顯示 2000 個結果。
當我想做一個排序時。 從我的歷史記錄中歸檔我所做的:
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