Você provavelmente remove o arquivo chamado $Filetmp muito em breve. O comando rm está dentro do loop interno:
rm -f $Filetmp
done
done
Devido a isso, o arquivo é removido após a primeira iteração através do loop interno (ou seja, quando $ i = 0). As iterações subseqüentes ($ i > 0) não localizarão o arquivo. Nenhum erro é relatado porque você chama o grep com a opção -s , mas as contagens resultantes são obviamente zero.
O comando rm deve estar fora do loop interno:
done
rm -f $Filetmp
done