我需要打印给定文件中前 n 行的所有唯一单词及其出现次数。我必须按出现次数排序,然后按字母顺序排序。(唯一的分隔符是“”)例如:对于以下 5 行:
嘿嘿嘿嘿嘿嘿
你好你好
啊啊啊
BB
A
我将打印
黑5
氨基酸2
乙2
你好2
一个 1
到目前为止我的脚本是:
tr -c [:space:] '\n' <$1|head -n $number_of_rows| sort |uniq -c|sort -k1rn -k2n|awk '{print $2,$1}'
答案1
如果您知道每一行都由重复多次的单个单词组成,您可以执行以下操作:
awk -v n=$number_of_rows '
NR == n+1 {exit}
{print $1, NF}
' file | sort -k2,2rn -k1,1