ファイルをコピーすると仮定すると、元のファイルを2回読み取らずにハッシュ値(例:など)pv
を取得する方法はありますか?大容量ファイルまたはブロックデバイスで使用する必要があります。md5
sha1
期待どおりに機能しないコマンドの例:
pv /dev/sda1 | tee md5sum > /mnt/backups/sda.backup
答え1
... | tee md5sum > outputfile
tee
ファイル名を引数として使用すると、コマンドはという名前のファイルを生成するため、機能しませんmd5sum
。代わりに、ファイル名をプロセス置換(Bash / ksh / zshから)に変更できます。
... | tee >(md5sum) > outputfile
または、ターゲットファイル名がに割り当てられるようにロジックを反転すると、tee
標準出力が次にパイプされることがありますmd5sum
。
... | tee outputfile | md5sum
また、MD5が損傷していることを考慮すると、たとえばまたは代わりに使用できますsha256sum
。sha512sum