Encontre uma string em um arquivo:
grep -q string file
O valor de saída informa se o grep encontrou alguma coisa.
Depois, você pode fazer o loop desde que um comando retorne um verdadeiro valor de saída:
while command ; do
repeat this
done
Embora você queira executar o comando pelo menos uma vez, talvez
while true ; do
some command
if ! grep -q string file ; then
break # jump out of the loop if it's _not_ there
fi
done
Caso contrário, você precisará repetir o comando antes do loop e dentro dele.