Bash

將 grep 與 or 一起使用

  • June 26, 2013

如何使用 grep 在文本文件中搜尋單詞或另一個單詞的出現?

我想過濾所有行的 apache 日誌文件,包括“bot”或“spider”

cat /var/log/apache2/access.log|grep -i spider

僅顯示包括“蜘蛛”在內的行,但如何添加“機器人”?

使用經典的正則表達式:

grep -i 'spider\|bot'

或擴展正則表達式(甚至 perl 正則表達式-P):

grep -Ei 'spider|bot'

或多個文字模式(比正則表達式更快):

grep -Fi -e 'spider' -e 'bot'
cat /var/log/apache2/access.log | grep -E 'spider|bot'

使用 -E 選項可以啟動擴展正則表達式,您可以在其中使用|邏輯 OR。

此外,不用呼叫另一個程序 - cat - 你可以這樣做

grep -E 'spider|bot' /var/log/apache2/access.log

引用自:https://unix.stackexchange.com/questions/80695