![仅显示重复行,忽略每行的前 x 个空格](https://linux22.com/image/79620/%E4%BB%85%E6%98%BE%E7%A4%BA%E9%87%8D%E5%A4%8D%E8%A1%8C%EF%BC%8C%E5%BF%BD%E7%95%A5%E6%AF%8F%E8%A1%8C%E7%9A%84%E5%89%8D%20x%20%E4%B8%AA%E7%A9%BA%E6%A0%BC.png)
我有一个带有编号行的文件。这些数字占据每行的前 7 个空格。我想检查该行的其余部分是否有重复项,并且只输出重复项。
例如,我的文件可能是:
1 abcde
2 12345789
3 6789
4 000000
5 abcde
在这种情况下,我希望我的输出是:
1 abcde
5 abcde
当然,输出格式并不重要,但如果将重复的字符串匹配在一起那就太好了,这样我就可以更轻松地找到它们。
我正在使用Linux。
答案1
sort
文件的第二个字段,并告诉 GNUuniq
跳过前 7 个字符 ( -s 7
),告诉它打印重复的行 ( -D
):
$ sort -k2,2 foo | uniq -Ds 7
1 abcde
5 abcde