如何通过 grep 查找多个字符串之一?
How to find one of several strings via grep?
我想查找包含多个字符串之一的文件。这是示例:
grep -e "max|min" <<< "emaxxmin" #it prints nothing
grep -e "min" <<< "emaxxmin" #it works
grep -e "max" <<< "emaxxmin" #it works
我有点困惑。在我看来,正则表达式是正确的(它使用“选择”运算符)。 man 命令还提到了 |
符号
的特殊处理
像这样:
grep -E '(max|min)' <<< "emaxxmin"
或者,使用基本 posix 正则表达式:
grep '\(max\|min\)' <<< "emaxxmin"
或者,使用 -e
参数(可能是这里最简单的解决方案?):
grep -e max -e min <<< "emaxxmin"
我想查找包含多个字符串之一的文件。这是示例:
grep -e "max|min" <<< "emaxxmin" #it prints nothing
grep -e "min" <<< "emaxxmin" #it works
grep -e "max" <<< "emaxxmin" #it works
我有点困惑。在我看来,正则表达式是正确的(它使用“选择”运算符)。 man 命令还提到了 |
符号
像这样:
grep -E '(max|min)' <<< "emaxxmin"
或者,使用基本 posix 正则表达式:
grep '\(max\|min\)' <<< "emaxxmin"
或者,使用 -e
参数(可能是这里最简单的解决方案?):
grep -e max -e min <<< "emaxxmin"