首页 > 解决方案 > grep 问题 - 尝试在包含 2 个以上特定字符的文本文件中显示行

问题描述

得到一个文件,如:

$ cat file1.txt
123456
1234n5678nn
12n4567890123
123n56n89n1n

我在尝试:

grep -E 'n{3,}' file1.txt

仅获取其中出现两次以上的行n(不必是连续的),但这不起作用。我想要的输出是:

1234n5678nn
123n56n89n1n

请注意,我必须使用 or 来执行此操作grep-egrep不能使用sedor awk

标签: grep

解决方案


你可以这样做:

grep -E '(n.*){3,}' file1.txt

或者使用您已经测试过并且运行良好的方法:

grep -E 'n.*n.*n' file1.txt

推荐阅读