如何使用 UNIX 获取列表中唯一值的频率计数?

use*_*901 3 unix bash

我有一个文件,列表中有几千个域名。我使用 uniq 命令轻松生成了一个仅包含唯一名称的列表。现在,我想查看唯一列表中的每个项目在原始非唯一列表中出现的次数。我认为用这个循环应该很容易做到,但我遇到了麻烦:

for name in 'cat uniques.list'; do grep -c $name original.list; done > output.file
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它吐出的结果显示了唯一文件和原始文件的某些内容(老实说不确定是什么)。

我觉得我在这里忽略了一些非常简单的事情。任何帮助表示赞赏。

谢谢!

qua*_*dev 5

只需uniq -c在您的文件上使用:

-c, --count 前缀行按出现次数

获取最终输出的命令:

排序 original.list | uniq -c