【问题标题】:Find lines in file that contain duplicate characters查找文件中包含重复字符的行
【发布时间】:2012-12-22 19:11:33
【问题描述】:

在查找包含重复字符的文本文件中的行时,我需要一些帮助。 我更喜欢使用 bash,但任何其他方法都可以:)

一个小例子让事情更清楚:
文件.txt:

1234
11234
abcd
12234
ab321
1233
zs11w
12w2

想要的输出:

11234
12234
1233
zs11w
12w2

感谢您的所有帮助!

【问题讨论】:

    标签: bash sorting duplicates character


    【解决方案1】:
    grep '\(.\).*\1' file.txt
    

    匹配任何包含一个字符、任何字符串,然后是同一个字符的行,即任何有重复的行。

    【讨论】:

    • 我很高兴为这个非常优雅且内容丰富的答案 +1。我不知道 grep 也可以处理子表达式!
    • 太棒了!您还可以帮我找到包含 3 个或更多重复字符的行吗?例如 as333fdt
    • grep '\(.\).*\1.*\1' file.txt
    【解决方案2】:

    Perl:

    perl -ne 'print if /(.)\1/' file.txt
    

    awk:

    awk -F "" '{for (i=1; i<NF; i++) if ($i == $(i+1)) {print; next}}' flie.txt
    

    【讨论】:

      猜你喜欢
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      相关资源
      最近更新 更多