当我尝试匹配字符串并做一些条件时;它总是没有这样做。
date=`date +%Y%m%d`
kol="/home/user/test_$date"
regex='Terminating the script'
if [ -f $kol ]; then
sudo tail -f $kol | while read line; do
if [[ $line = *"Terminating the"* ]]
then
echo "failed"
else
echo $line >> /home/user/test123_$date
fi
else
echo "File is not yet present"
exit 0
fi
我也尝试过使用正则表达式而失败了。因此,当我将匹配的字符串输入到文件($ path)时,它不会输出"失败&#34 ;;代码中有什么问题吗?非常感谢帮助。
答案 0 :(得分:0)
你可以试试这个。至少它对我有用:
sudo tail -f $1 | while read line; do
if [[ $line = '' ]]
then
break
fi
if [[ $line = *"Terminating the"* ]]
then
echo "failed"
else
echo $line >> /home/nurzhan/test123_$date
fi
done < "$1"
$path
是正在运行的脚本的参数。另请注意,默认情况下,命令tail
仅返回10个最后一行。