Eu não consigo reproduzir o seu problema com as versões GNU de todos os utilitários que você usa, nem com os meus utilitários nativos do OpenBSD. Poderia ser um disco ruim?
No entanto, em vez de filtrar o nome do arquivo sha1sums
passando por grep
, você pode omitir o cálculo do resumo SHA1 para esse arquivo em particular:
find . -type f ! -path './sha1sums' -exec sha1sum {} + >sha1sums
O teste -path
negado removerá o nome do caminho ./sha1sums
da lista de nomes de caminho transmitidos para sha1sum
.
Além disso, o utilitário será chamado com tantos nomes de arquivo quanto possível de uma só vez, em vez de uma vez para cada nome, graças ao +
no final.
Como isso não está usando um pipeline, não haverá SIGPIPE
issue.