zmk*_*mkm 3 grep regular-expression
我运行了grep 'd(o|i)g' a.txta.txt 包含dig但没有返回任何内容。这是正确的匹配方式dog吗dig?
是的,d(o|i)g这是正确的方法。你也可以这样做,d[oi]g因为你正在处理单个字符。
您需要-E在 grep 调用中使用该标志来获取扩展的正则表达式。
$ cat a.txt
bird
dog
cat
dug
$ grep 'd(o|i)g' a.txt
$ grep -E 'd(o|i)g' a.txt
dog
Run Code Online (Sandbox Code Playgroud)
您需要转义正则表达式元字符,例如
> echo dig | grep "d\(o\|i\)g"
dig
Run Code Online (Sandbox Code Playgroud)
,或者您可以切换到 ERE(“扩展正则表达式”):
echo dig | grep -E "d(o|i)g"
dig
Run Code Online (Sandbox Code Playgroud)