ファイルのコピーまたは移動時にファイルからハッシュ値を取得する

ファイルのコピーまたは移動時にファイルからハッシュ値を取得する

ファイルをコピーすると仮定すると、元のファイルを2回読み取らずにハッシュ値(例:など)pvを取得する方法はありますか?大容量ファイルまたはブロックデバイスで使用する必要があります。md5sha1

期待どおりに機能しないコマンドの例:

pv /dev/sda1 | tee md5sum > /mnt/backups/sda.backup

ベストアンサー1

... | tee md5sum > outputfileteeファイル名を引数として使用すると、コマンドはという名前のファイルを生成するため、機能しませんmd5sum。代わりに、ファイル名をプロセス置換(Bash / ksh / zshから)に変更できます。

... | tee >(md5sum) > outputfile

または、ターゲットファイル名がに割り当てられるようにロジックを反転すると、tee標準出力が次にパイプされることがありますmd5sum

... | tee outputfile | md5sum

また、MD5が損傷していることを考慮すると、たとえばまたは代わりに使用できますsha256sumsha512sum

おすすめ記事