Linux Uniq和计数

Linux Uniq和计数,linux,shell,count,uniq,Linux,Shell,Count,Uniq,有一个包含两列的文件, 只需在第1列上使用uniq并打印 结果中的两列以及出现次数的计数 (带-c) 例如: 1 a 1 a 2 a 3 c 4 d 2 1 a 1 2 a 1 3 c 1 4 d 1A 1A 2A 3 c 4d 21 a 1 2 a 13C 14D 如果这是一个文件,那么 cat filename.txt|awk '{print $1}'|uniq -c 准确地输出第二个块。我不清楚“仅在第1列上使用uniq”是什么意思。如果第1列以不同的第2列值多次出现,您希望发生什么?

有一个包含两列的文件, 只需在第1列上使用uniq并打印 结果中的两列以及出现次数的计数 (带-c)

例如:

1 a 1 a 2 a 3 c 4 d 2 1 a 1 2 a 1 3 c 1 4 d 1A 1A 2A 3 c 4d 21 a 1 2 a 13C 14D
如果这是一个文件,那么

cat filename.txt|awk '{print $1}'|uniq -c

准确地输出第二个块。

我不清楚“仅在第1列上使用uniq”是什么意思。如果第1列以不同的第2列值多次出现,您希望发生什么?如果这可能发生,你的问题可能需要澄清一下。如果这种情况在您的场景中无法发生,那么最简单的解决方案可能是

uniq -c filename

如果只需要对第2列进行比较,则只需使用此选项-f,--skip fields=N避免比较前N个字段
uniq -c filename