3

Я создаю большой архив tar и я хотел бы также создать контрольную сумму архива. Я мог бы достичь этого так:

$ tar cfz archive.tar.gz files
$ sha256sum archive.tar.gz > archive.tar.gz.sha256sum

Но файл архива огромен и на медленном носителе, поэтому я бы предпочел, чтобы после его записи не приходилось читать все заново.

Могу ли я построить конвейер, который будет хэшировать файл при его записи? Я подумал, может быть, я мог бы сделать это с помощью утилиты tee , но она записывает только в файл, а не на стандартный ввод другой команды.

1 ответ1

4

Отвечая на мой собственный вопрос:

Да, вы можете использовать замену tee и bash:

tar cfz - files | tee >(sha256sum) | cat > archive.tar.gz

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .