我想编写一个脚本来检查日志,如果日志中的任何行包含include_list.txt中的字符串但是在exclude_list.txt中没有该字符串,则将警报邮件发送给管理员,如下例所示,第2行有字符串“string 4”(在include_list.txt中),但在exclude_list.txt中没有任何内容,只在警告邮件中显示第1行。
会建议如何编写这个脚本吗?很感谢 。
string 1
string 2
string 3
string 4
string 5
string 6
xxx string 4 xxxstring 2
xxx string 4 xxxxxxxxxx
xxx xxxxxxx xxxstring 3
答案 0 :(得分:0)
您可以将grep
管道传输给另一个grep
用于此目的:
grep -iFf includes file.log | grep -iFf excludes
xxx string 4 xxxstring 2
如果您想匹配excludes
中没有相应条目的第二行,请在管道后使用grep -v
:
grep -iFf includes file.log | grep -ivFf excludes
xxx string 4 xxxxxxxxxx