Answers:
放入filename.txt
:
abc
def
ghi
jkl
grep命令使用-E选项,并在字符串中的标记之间使用管道:
grep -Ev 'def|jkl' filename.txt
印刷品:
abc
ghi
使用-v选项并用括号括起来的标记之间的管道来命令:
egrep -v '(def|jkl)' filename.txt
印刷品:
abc
ghi
grep -Fv -e def -e jkl
更快!
grep -vF $(pgrep myprocess)
grep -Fv -e 'Nopaging the limit is' -e 'keyword to remove is'
-F
按文字字符串匹配(而不是正则表达式)
-v
反转比赛
-e
允许多种搜索模式(所有文字和倒排)
grep -v
实例和正则表达式的人为要求的方法(让多个字符串在单独的参数中明确指定)。试想一下,在脚本中以编程方式构造该正则表达式以包含可能包含任何内容的字符串…
另一种选择是创建一个排除列表,当您要排除的东西很长时,这特别有用。
vi /root/scripts/exclude_list.txt
现在添加您要排除的内容
Nopaging the limit is
keyword to remove is
现在,使用grep从文件日志文件中删除行,并查看不排除的信息。
grep -v -f /root/scripts/exclude_list.txt /var/log/admin.log
-v
与-f
(或后者甚至存在)。
grep -v -f <(gen_exclusions.sh) /var/log/admin.log
egrep -v "Nopaging the limit is|keyword to remove is"
抓环可以用链条捆起来。例如:
tail -f admin.log | grep -v "Nopaging the limit is" | grep -v "keyword to remove is"
grep -v -e def -e jkl
恕我直言更清晰的方法…