我有一个字符串“ABCD”和一个文件test.txt。我想检查文件是否只有这个内容“ABCD”。 通常我只使用“ABCD”获取文件,并且当我得到除此字符串之外的任何其他内容时我想发送电子邮件通知,因此我想检查这种情况。 请帮忙!
答案 0 :(得分:12)
更新:我的原始答案会在无法匹配的情况下不必要地将大文件读入内存。任何多行文件都会失败,因此您最多只需读取两行。相反,请阅读第一行。如果它与字符串或不匹配,如果第二个read
成功,无论它读取什么,都会发送电子邮件。
str=ABCD
if { IFS= read -r line1 &&
[[ $line1 != $str ]] ||
IFS= read -r $line2
} < test.txt; then
# send e-mail
fi
只需读入整个文件并将其与字符串进行比较:
str=ABCD
if [[ $(< test.txt) != "$str" ]]; then
# send e-mail
fi
答案 1 :(得分:5)
这样的事情应该有效:
s="ABCD"
if [ "$s" == "$(cat test.txt)" ] ;then
:
else
echo "They don't match"
fi
答案 2 :(得分:4)
str="ABCD"
content=$(cat test.txt)
if [ "$str" == "$content" ];then
# send your email
fi
答案 3 :(得分:0)
if [ "$(cat test.tx)" == ABCD ]; then
# send your email
else
echo "Not matched"
fi