linux - 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

https://stackoverflow.com/questions/16212656/

相关文章:

python - Pelican 3.3 pelican-quickstart 错误 "ValueE

python - Python 中嵌套的 try/except block 是一种好的编程习惯吗?

linux - 如何在行号处拆分文件

python - 移动平均线或移动平均线

python - Python 3 的图像库

python - Python 'for' 循环中的范围

linux - POSIX 异步 I/O (AIO) 的现状如何?

c - 如何从 C 中通过 PID 在 Linux 中计算进程的 CPU 使用率?

linux - 是否可以在文件名中使用 "/"?

python - 是否可以使用 scikit-learn K-Means Clustering 指定