Bash
將 grep 與 or 一起使用
如何使用 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