带正则表达式的 grep - 过滤包含连续相同数字并忽略空格的行

grep with regex - filter lines containing consecutive same number and ignoring whitespace

提问人:ee04395 提问时间:11/2/2023 最后编辑:ee04395 更新时间:11/3/2023 访问量:76

问:

包含多行字符串的文件 .txt

abc
abc1
abc11 11abc
abc111
abc abc1

我知道如何过滤包含 3 个或更多连续相同个位数的行

grep -E '([0-9])\1{2,}' file.txt
>> abc111

如何修改正则表达式,使其忽略空格并产生以下输出?

abc111
abc11 11abc
正则表达式 bash grep

评论

0赞 jhnc 11/2/2023
你对“数字”的定义是什么?你是说“数字”吗?
0赞 jhnc 11/2/2023
grep -E '([0-9]).*\1.*\1'?
0赞 ee04395 11/2/2023
是的,一个数字
0赞 Sree Kumar 11/2/2023
“3 个或更多连续的相同数字”是一个略显模棱两可的要求。例如,有“3 个或更多秒”和“3 个或更多秒”。请看是否可以设置一些条件或歧义解决规则。111111111
0赞 ee04395 11/2/2023
我已将问题编辑为“3 个或更多连续相同的个位数”

答:

2赞 The fourth bird 11/2/2023 #1

您可以在以下两者之间匹配可选的空格字符:

([0-9])[[:space:]]*\1[[:space:]]*\1

正则表达式演示