Uma instrução if aceitará qualquer coisa que produza status de saída, portanto, um
shell embutido como [
ou test
- ou um arquivo de disco como grep
. Você pode usar os dois:
if [ "$(grep -c '*' file)" = 0 ]
then
echo 'star symbol not found'
fi
mas não é realmente necessário:
if ! grep -q '*' file
then
echo 'star symbol not found'
fi
Ou:
while read x
do
if ! grep -q '*' <<eof
$x
eof
then
printf '%s does not contain star symbol\n' "$x"
fi
done < file
Ou:
awk '!/\*/ {print $0, "does not contain star symbol"}' file