我一直在努力解决这个问题,但无论我尝试什么,它似乎都没有按我的意愿工作。基本上缺少的东西是 grep 在找到匹配项时没有列出文件名(我认为这是 -H 标志应该做的事情?)并且 uuencode 似乎不想将文件附加到电子邮件。我已经尝试过 uuencode 和 cat ,但我无处可去。
有谁知道这里可能有什么问题?
for i in `ls SystemOut_*[0-9].log`; do
grep -inEH '^\[.*(error|exception)' $i >> scannedErrors.txt;
mv "$i" "${i%.log}"_scanned.log;
done
if [[ -s scannedErrors.txt ]]; then
uuencode scannedErrors.txt | mailx -s "Scanned Logfile Errors" someone@somewhere.com < Message.txt;
fi
/bin/rm scannedErrors.txt;