我正在尝试使用 tail -f
查看日志文件,并希望排除包含以下字符串的所有行:
Nopaging the limit is
和 keyword to remove is
我可以像这样排除一个字符串:
tail -f admin.log|grep -v "Nopaging the limit is"
但是如何排除包含 string1
或 string2
的行?
最佳答案
用 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/