【发布时间】:2015-04-28 20:12:33
【问题描述】:
首先,我不能使用 awk 或 sed!
我计算了一个命令在 bash 历史中被使用的次数。我使用了以下代码:
cat ${!#} | cut -f 1 -d " " | sort | uniq -c | sort -n | sort -r
请注意 cat ${!#} 是默认的 history.txt ,我使用 cut 来删除编号的行。另外我必须在最后使用sort -r,否则我会得到输出升序而不是降序(为什么会这样?)。
好的,我的主要问题是对具有相同重复次数的命令进行排序。目前我得到这个输出:
seq 3
ps 2
echo 2
cut 2
uname 1
nl 1
cmp 1
但我需要得到以下输出:
seq 3
cut 2
echo 2
ps 2
cmp 1
diff 1
nl 1
uname 1
是的。按重复次数对命令进行排序,如果其中任何一个相同,则按字母顺序排序。
我试图用另一种方法来解决这个问题,但到目前为止还没有取得太大的成功。
我的输出中的命令与所需的输出相反是否只是巧合?还是默认降序排列?
【问题讨论】:
标签: bash