如果文件中不存在数据,则显示错误的语句

时间:2015-03-16 15:44:08

标签: bash

echo "Please Enter a Forename";
read Forename;

if [ ! $Forename ]; then
    echo "$Forename not found";
else
    grep -n "Forename: $Forename" $Filename | sort;

网络连接

我正在尝试使用上面的代码来检查用户输入的字符串是否存在于文件中,文件名是AddressBook.txt,我已将其分配给变量Filename

任何人都可以告诉我这是否有用,或者你可以建议一个更好的方法来检查文件。

1 个答案:

答案 0 :(得分:0)

您可以使用cat打印文件的内容,例如:

contents=$( cat $filename )

现在您可以检查字符串contents是否为空:

if [ -n "$contents" ]; then
  echo "The contents of the file are empty"
fi

您可以使用grep检查特定字符串:

contents=$( grep "$pattern" "$filename" )

从这里开始,if会是一样的。