如何使用egrep查找具有2个连续相同字符的单词?

时间:2013-06-28 04:16:06

标签: unix grep

我试图用蛮力的方式做到这一点:

egrep '[a][a] | [b][b] | [c][c]....' file

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:9)

使用back-reference

egrep '(\w)\1' file将匹配任意两个连续的“单词字符”。

(\w)创建一个匹配任何单词字符的“组”。 \1指的是第一组中匹配的内容(此处表示前一个字符。

$ cat test
abcdefg
1234567
abcddefgj
88427

$ egrep '(\w)\1' test
abcddefgj
88427

答案 1 :(得分:2)

你也可以这样做:

$ egrep '([a-z])\1' file

([a-z]) - 对于任何字符,在模式中为其指定一个数字,我相信编号从0开始,然后检查第二个字母是否与1相同。