Shell 使用Grep获取单词计数
我一直在使用Shell 使用Grep获取单词计数,shell,unix,grep,uniq,Shell,Unix,Grep,Uniq,我一直在使用 grep -o string file | wc -l 获取字数,但我有一个文件的格式 help help help how how luke mark 我想知道是否有一个命令会返回:3,2,1,1 您可以使用 sort input.txt | uniq -c 哪个会输出 3 help 2 how 1 luke 1 mark 您可以从中继续处理输出。如果您已经知道相同的条目在一个连续的行块中,您当然可以跳过排序,直接使用uniq,这也将保留顺序。您可
grep -o string file | wc -l
获取字数,但我有一个文件的格式
help
help
help
how
how
luke
mark
我想知道是否有一个命令会返回:3,2,1,1
您可以使用
sort input.txt | uniq -c
哪个会输出
3 help
2 how
1 luke
1 mark
您可以从中继续处理输出。如果您已经知道相同的条目在一个连续的行块中,您当然可以跳过排序
,直接使用uniq
,这也将保留顺序。您可以使用
sort input.txt | uniq -c
哪个会输出
3 help
2 how
1 luke
1 mark
您可以从中继续处理输出。如果您已经知道相同的条目位于连续的行块中,您当然可以跳过
排序
,直接使用uniq
,这也将保留顺序。单进程awk方式
awk '{a[$0]++}END{for(x in a)print x" : "a[x]}' file
kent$ echo "help
help
help
how
how
luke
mark"|awk '{a[$0]++}END{for(x in a)print x" : "a[x]}'
luke : 1
help : 3
how : 2
mark : 1
单进程awk方式
awk '{a[$0]++}END{for(x in a)print x" : "a[x]}' file
kent$ echo "help
help
help
how
how
luke
mark"|awk '{a[$0]++}END{for(x in a)print x" : "a[x]}'
luke : 1
help : 3
how : 2
mark : 1
现在让我们假设输出结果是:5,8,3,12,7。有没有办法按降序排序?非常感谢您的时间现在让我们假设输出结果是:5,8,3,12,7。有没有办法按降序排序?非常感谢您的时间