我想要一个完整且有序的 bash 历史记录列表。但是存在一些问题:
- 通过执行
history
列表,永远不会显示完整列表,仅显示 1000 个命令。 - 在我的$HOME目录中有一个名为的文件.bash_history 显示 2000 个结果。
当我想做一个排序。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/unlimited-bash-history