use*_*073 1 grep regular-expression wildcards
我有一个包含随机代码的文件。每个代码中有 10 个字符,我试图在文件中 grep 代码中至少出现 2 个字符。我正在这样做:
grep DD* [filename]
Run Code Online (Sandbox Code Playgroud)
这将查找出现 2 次字符“D”的代码,但它也显示仅出现 1 次“D”的代码。如何更改我的正则表达式以仅显示出现 2 次的代码?
* 在正则表达式中是一个量词,表示前一个实体重复了 0 次或更多次。
只需删除量词:
grep DD filename
Run Code Online (Sandbox Code Playgroud)
请注意,上述内容还将匹配出现 3 次或更多“D”的行。
如果您想要任何字符,不仅仅是“D”,2 次或更多次:
grep -E '(.)\1' filename
Run Code Online (Sandbox Code Playgroud)
如果你想要“D”正好 2 次:
grep -E '([^D]|^)DD([^D]|$)' filename
Run Code Online (Sandbox Code Playgroud)