使用egrep在文件中查找任何重复的单词

时间:2018-01-30 03:37:13

标签: regex grep command backreference

这是我的命令行:

grep -E "(\b[a-zA-Z0-9]{6,}\b)(.*)\1"

我得到了这个:

meilleure allo meilleure
mota20lettressssssss a mota20lettressssssss
mota20lettressssssss a mota20lettressssssss a mota20lettressssssss
mota6l yolo mota6l
mota7ll yolo mota7ll
meilleure allo meilleure
mota20lettressssssss a mota20lettressssssss a mota20lettressssssss a mota20lettressssssss

但我只需要至少六个字符的单词,但重复三次以上。我尝试了反向引用,没有成功。关于解决方案的任何提示?

1 个答案:

答案 0 :(得分:0)

使用量词进行重复分组

$ # more than 2 times
$ grep -E '(\b[a-zA-Z0-9]{6,}\b)(.*\b\1\b){2,}' ip.txt 
mota20lettressssssss a mota20lettressssssss a mota20lettressssssss
mota20lettressssssss a mota20lettressssssss a mota20lettressssssss a mota20lettressssssss
$ # more than 3 times
$ grep -E '(\b[a-zA-Z0-9]{6,}\b)(.*\b\1\b){3,}' ip.txt 
mota20lettressssssss a mota20lettressssssss a mota20lettressssssss a mota20lettressssssss