linux - grep 排除多个字符串

标签 linux ubuntu grep

我正在尝试使用 tail -f 查看日志文件,并希望排除包含以下字符串的所有行:

Nopaging the limit iskeyword to remove is

我可以像这样排除一个字符串:

tail -f admin.log|grep -v "Nopaging the limit is"

但是如何排除包含 string1string2 的行?

最佳答案

grep 过滤掉多行:

将这些行放在 filename.txt 中进行测试:

abc
def
ghi
jkl

grep 命令使用 -E 标志和字符串中的标记之间的管道:

grep -Ev 'def|jkl' filename.txt

打印:

abc
ghi

egrep 使用 -v 标志和用括号括起来的标记之间的管道:

egrep -v '(def|jkl)' filename.txt

打印:

abc
ghi

或者如果通过 grep 参数堆叠 -e 标志是可以的(信用 -> @Frizlab):

grep -Fv -e def -e jkl filename.txt

打印:

abc
ghi

关于linux - grep 排除多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16212656/

相关文章:

linux - 如何在具有不同数据库的不同端口上安装 Odoo?

macos - 如何在 Mac OS 上安装 GNU grep?

linux - 如何 grep 精确的文字字符串(无正则表达式)

linux - find 命令查找文件并连接它们

php - 如何测试已部署的 Web 应用程序

ubuntu - 如何从 ubuntu 禁用 key ?

linux - 如何将我的 grep 重定向到位于另一个目录中的 txt 文件?

linux - 在 Linux 对话框文本框中显示差异

java - 使用 HBql Zookeeper 不会尝试使用 SASL 进行身份验证

ubuntu - 如何在 Ubuntu 中摆脱 jenv?