我能够做单个grep但不能在unix solaris中进行OR搜索
请参阅以下我试过的例子......
-bash-3.00$ echo "Hello hi" | grep -i "Hello"
Hello hi
-bash-3.00$ echo "Hello hi" | grep -i "Hello\|hi"
-bash-3.00$
答案 0 :(得分:5)
您可以使用egrep
,其定义与grep -E
相同。它将模式解释为扩展正则表达式,因此grep -E "hello|hi"
表示:" grep hello
或hi
"。
所以这两个都应该有效:
echo "Hello hi" | egrep -i "hello|hi" # as you are using -i, no need to low/upper case
echo "Hello hi" | grep -Ei "hello|hi"
如有疑问,您可以随时查看man grep
并查看他们在那里解释的内容。由于我无法访问任何Solaris服务器,因此无法对自己进行测试。
答案 1 :(得分:0)
您也可以使用awk
:
echo "Hello hi" | awk '/Hello|Hi/'
Hello hi