【问题标题】:How can I find any repeated duplication in my file [duplicate]如何在我的文件中找到任何重复的重复项 [重复]
【发布时间】:2014-06-27 19:08:44
【问题描述】:

如何查找我的文件是否有重复。 ?

我的许多 vi 文件都有大量的分子坐标,有时,我使用的软件会在第一个文件的顶部复制分子坐标,这不会被注意到,只有当我开始在模拟中使用分子时,我知道这个文件有一个重复的co-rodinates。

使用通用 grep,我需要测试每一行,看看是否找到了模式。

相反,有没有更好的方法?

例如:

C          8.72073       15.19207       10.44503

C          9.57223       14.02835       10.59743

C         10.54225       13.88199        9.86998

在文件中重复

【问题讨论】:

  • 那些重复在 while 行上延伸,或者可以是任何行的子字符串?
  • 这些重复超出了界限。对于前。 C 1.23 3.45 4.56 H 4.56 3.45 4.56 可能会重复
  • 从文件中给我们几行,最好是有重复的..
  • @Korem :我现在已将其添加到问题中..
  • @mpapec 期望的输出:告诉我哪一行被重复,连同它的行号。

标签: python perl bash shell


【解决方案1】:

使用sortuniq 加上sed 清理输出:

例子:

echo -e 'a\nb\nc\na\nb'
a
b
c
a
b

echo -e 'a\nb\nc\na\nb' | sort | uniq -c
      2 a
      2 b
      1 c

echo -e 'a\nb\nc\na\nb' | sort | uniq -c | sed -re '/^\s+1\s+/d; s/^\s+[0-9]+\s+//g'
a
b

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 2020-09-09
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    相关资源
    最近更新 更多