2013-01-08 60 views
3

我需要一些幫助來查找包含重複字符的文本文件中的行。 我更喜歡使用bash,但是任何其他方法會做得很好:)查找包含重複字符的文件中的行

一個小例子只是爲了把事情說清楚:
file.txt的:

1234 
11234 
abcd 
12234 
ab321 
1233 
zs11w 
12w2 

所需的輸出:

11234 
12234 
1233 
zs11w 
12w2 

感謝您的幫助!

回答

8
grep '\(.\).*\1' file.txt 

匹配任何包含字符,任何字符串和相同字符的行,即包含重複項的任何行。

+1

我很高興+1這個非常優雅和提示性的答案。我不知道grep也能解決子表達式問題! –

+0

太棒了!你還可以幫助我找到包含3個或更多重複字符的行嗎?例如as333fdt – Jen

+0

'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 
相關問題