创建一个完整的、按字母顺序排序的 bash 历史记录 .txt 文件

创建一个完整的、按字母顺序排序的 bash 历史记录 .txt 文件

我想要一个完整且有序的 bash 历史记录列表。但是存在一些问题:

  1. 通过执行history列表,永远不会显示完整列表,仅显示 1000 个命令。
  2. 在我的$HOME目录中有一个名为的文件.bash_history 显示 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/unlimited-bash-history

相关内容