Aqui está um pequeno script que você pode usar para testes - execute-o em algum lugar seguro, por exemplo / tmp ou mais:
# Prepare
rm *.txt
echo 4601 -- it means completed > f1.txt
echo 4602 -- it means failed > f2.txt
echo 4603 -- it means timed out > f3.txt
# Test
for i in *.txt; do echo
echo --- Processing file $i
if grep -qs 4601 $i; then
echo Completed
elif grep -qs 4602 $i; then
echo Failed
elif grep -qs 4603 $i; then
echo Timed-Out
fi
done
Obrigado @grawity pela dica útil (veja o comentário dele abaixo) para não criar subshells / testes em execução desnecessários / acelerar isso aqui!
Ele criará 3 arquivos - f1.txt, f2.txt e f3.txt, cada um contendo um dos codificados mencionados e processando cada um dos arquivos, gerando as mensagens desejadas.
Espero que isso ajude.