从日志文件中删除例外
cat ignore_err.txt|grep -v "^#"| while read line;
do
cp atln_output_err.txt atln_output_err.txt.bak4 ;
echo "start ....... $line ";
sed '/$file/d' atln_output_err.txt >out.txt
mv out.txt atln_output_err.txt
echo "end ....... $line ";
done
start ....... \} INFO aop\:
end ....... \} INFO aop\:
start ....... Not able to find an user based on email address
end ....... Not able to find an user based on email address
我需要在循环的每次迭代中从输入文件中删除这些行
上面的脚本不会在每次循环迭代中过滤输入文件中的记录。
还有其他有效的方法吗
由于
我有这个例外列表 cat ignore_err.txt
#aop:83 - Entering AccessController.msb3IeError
#aop:83 - Leaving AccessController.msb3IeError
#\\} DEBUG aop\\:
\\} INFO aop\\:
Not able to find an user based on email address
我想过滤包含这些关键字的日志文件(atln_output_err.txt)
我想实现这个
cat atln_output_err.txt | grep -v "\} INFO aop\:" | grep -v "Not able to find an user based on email address" >a.txt
答案 0 :(得分:2)
如果您将所有错误关键字放在名为error_keyword.txt
的文件中(换行符号换行)
_获取没有匹配错误关键字的所有日志条目:
grep -v -F -f error_keyword.txt log.txt
_获取与错误关键字匹配的所有日志条目:
grep -i -F -f error_keyword.txt log.txt
然后您可以重定向到文件:
grep -v -F -f error_keyword.txt log.txt > log_without_errors.txt
答案 1 :(得分:0)
while true
do
nc 192.168.1.38 23 >> results
nc 192.168.1.39 4501 >> results
nc 192.168.1.40 8080 >> results
done