在 linux/nix 中使用 grep 输出并计算总出现次数

Output and count total number of occurrences using grep in linux/nix

我有一个数据文件 (users.dat),其中的条目如下:

user1
user2
user4
user1
user2
user1
user4
...
user3
user2

我应该使用哪个命令(grep?wc?)来计算每个单词重复的次数并将其输出到 user_total.dat,如下所示:

user1 80
user2 35
user3 18
user4 120

问题是我无法指定 "user1" 或 "user19287",因为有太多用户使用随机但重复的数字。

但该 DAT 文件中有重复用户。

感谢您的帮助!!!

使用uniq命令计算一行的重复次数。它需要对输入进行排序,所以先使用sort

sort users.dat | uniq -c > user_total.dat
sort <users.dat | uniq -c > user_total.dat

如果您希望它按出现顺序进一步传递,请使用某种形式的 -n 参数(阅读手册页)进行第二次排序。

(编辑:呸...没有意识到系统渲染那段代码有多愚蠢)