因此,我正在练习练习,但是遇到了一些令人困惑的事情。我需要计算文本文档中每个字母出现的次数,然后一个接一个地打印,出现的次数最多。
问题在于我需要按字母顺序对出现次数相同的字母进行排序。这是一个问题,因为排序会自动按字母顺序排序,因此当我按出现顺序反向排序时,它会自动以颠倒的字母顺序对出现次数相同的字母进行排序。
我尝试按列排序,因此它首先对数字进行排序,然后对字母进行排序,但这是行不通的。
现在让我们处理几个字母。
echo eeeeerrrbbbcccnN | tr a-z A-Z | grep -iE [a-z] -o | sort | uniq -c | sort -rn | tr -d 0-9'\n '
输出为ERCBN,但必须为EBCRN。
答案 0 :(得分:2)
您可以指定多个排序条件:
$ # OP's attempt
$ echo eeeeerrrbbbcccnN | tr a-z A-Z | grep -iE [a-z] -o | sort | uniq -c | sort -rn
5 E
3 R
3 C
3 B
2 N
$ # multiple column sort
$ # also note the change in grep command
$ echo eeeeerrrbbbcccnN | tr a-z A-Z | grep -o [A-Z] | sort | uniq -c | sort -k1,1nr -k2,2
5 E
3 B
3 C
3 R
2 N