如何测试文件中是否有字符?

如何测试文件中是否有字符?

所以我有这段代码的一部分,如果只有名称文件为空,您希望它输出“没有这样的玩家”,我尝试使用 test -s 命令,但即使文件为空,它也会输出 0或不。我将如何解决这个问题。

       if [ $Target = m -o $Target = M ]
       then
       cut -c12-26,31-43 ./emplist > names
       grep $Name ./names
       if
       **[ -s  names ]**
       then
          :
       else
       echo "No such player"
       fi

基本上我希望它输出名称,如果文件中有名称,则输出“没有这样的播放器”。如果文件中没有名字,则输出“没有这样的玩家”。

答案1

if [ "$Target" = m ] || [ "$Target" = M ];
then
   cut -c12-26,31-43 emplist > names
fi
if grep -qFe "$name" names; then
  echo "$name"
else
  echo >&2 "No such player";
fi

相关内容