使用 grep 或

rub*_*o77 0 grep bash filter regular-expression

如何使用 grep 在文本文件中搜索单词或其他单词的出现?

我想过滤所有行的 apache 日志文件,包括“bot”或“spider”

cat /var/log/apache2/access.log|grep -i spider
Run Code Online (Sandbox Code Playgroud)

只显示包含“spider”的行,但如何添加“bot”?

rus*_*ush 5

使用经典正则表达式:

grep -i 'spider\|bot'
Run Code Online (Sandbox Code Playgroud)

或扩展正则表达式(甚至 perl 正则表达式-P):

grep -Ei 'spider|bot'
Run Code Online (Sandbox Code Playgroud)

或多个文字模式(比正则表达式快):

grep -Fi -e 'spider' -e 'bot'
Run Code Online (Sandbox Code Playgroud)