Respondendo minha própria pergunta:
Sim, você pode usar a substituição do processo tee e bash:
tar cfz - files | tee >(sha256sum) | cat > archive.tar.gz
Estou criando um grande arquivo tar
e gostaria de criar também a soma de verificação do arquivo. Eu poderia conseguir assim:
$ tar cfz archive.tar.gz files
$ sha256sum archive.tar.gz > archive.tar.gz.sha256sum
Mas o arquivo é enorme e está em mídia lenta, então prefiro não ter que ler tudo novamente depois de escrevê-lo.
Posso criar um pipeline que altere o arquivo como ele grava? Eu pensei que talvez eu pudesse fazer isso com o utilitário tee
, mas isso só grava em um arquivo, não na entrada padrão de outro comando.
Respondendo minha própria pergunta:
Sim, você pode usar a substituição do processo tee e bash:
tar cfz - files | tee >(sha256sum) | cat > archive.tar.gz