如何使用for
循环从文件中查找错误(错误1、错误2、错误3)。
一个文件包含来自4
不同机器的三种类型的错误(strings
)。任何机器都可以有任意数量的错误。当发现错误时,whiptail
用于创建pop-up window
。
# !/bin/sh
if grep -R "Error1 in Machine 1" /home/new/Report.txt
then
echo "Error1 found in Machine 1"
whiptail --title "Report Error" --msgbox "Error 1 in Machine 1" 8 78
else
echo "No Error found"
fi
if grep -R "Error2 in Machine 1" /home/new/Report.txt
then
echo "Error2 found in Machine 1"
whiptail --title "Report Error" --msgbox "Error 2 in Machine 1" 8 78
else
echo "No Error found"
fi
if grep -R "Error2 in Machine 2" /home/new/Report.txt
then
echo "Error2 found in Machine 2"
whiptail --title "Report Error" --msgbox "Error 2 in Machine 2" 8 78
else
echo "No Error found"
fi
if grep -R "Error3 in Machine 3" /home/new/Report.txt
then
echo "Error3 found in Machine 3"
whiptail --title "Report Error" --msgbox "Error 3 in Machine 3" 8 78
else
echo "No Error found"
fi
3条答案
按热度按时间pinkon5k1#
该脚本不会显示“No error found”消息(没有消息就是好消息),但在其他方面应该可以工作。
imzjd6km2#
如果您有3个错误和4台机器,则可以使用嵌套循环来处理所有12种组合:
grep
选项q
(quiet)和F
用于不打印任何内容,并将模式解释为固定字符串,而不是正则表达式。bweufnob3#
传递
grep
(1)一次并保存输出,然后执行其余操作。