Como testar se um arquivo tem caracteres nele?

1

Então eu tenho uma parte deste código e você quer que ele envie "Nenhum tal reprodutor" se apenas o arquivo de nomes estiver vazio, tentei usar o comando test -s mas ele fornece uma saída de 0 mesmo se o o arquivo está vazio ou não. como eu iria resolver esse problema?

       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

Basicamente, eu quero que ele emita os nomes com a saída "no such player" se houver nomes no arquivo. e coloque "nenhum desses jogadores" se não houver nomes no arquivo.

    
por BigDave 25.05.2014 / 21:41

1 resposta

2
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
    
por 25.05.2014 / 22:02