test.txtとtest.txt.md5という2つのファイルがあります。 test.txtのチェックサムを確認したいです。
Gnuツールmd5sumには、「[md5-hash][space][space][filename]」(md5sum -c test.txt.md5)形式のmd5ファイルが必要です。残念ながら、私のtest.txt.md5にはmd5ハッシュのみが含まれています(スペースとファイル名はありません)。
"test.txt.md5"ファイルのハッシュを "md5sum -c"コマンドに渡すには? stdinを使用する必要があるようですが、私が見たすべての例は、md5sumファイル形式を再作成しようとしました。
ファイルの内容は次のとおりです。
test.txt
:
test
そしてtest.txt.md5
:
d8e8fca2dc0f896fd7cb4cb0031ba249
ベストアンサー1
多くのコマンドと同様に、オプション値が(from)の場合はmd5sum
標準入力から読み取ることができます。-
man md5sum
MD5(128ビット)チェックサムを印刷または確認します。ファイルが存在しないFILEが-の場合、標準入力を読み込みます。。
ファイル名がわかっているので、単にmd5ファイルの内容といくつかのスペースを印刷してから名前を印刷して次に渡すことができますmd5sum
。
$ cat test.txt.md5
5a6d311c0d8f6d1dd03c1c129061d3b1
$ md5sum -c <(printf "%s test.txt\n" $(cat test.txt.md5))
test.txt: OK
別のオプションは、ファイルにファイル名を追加することです。
$ sed -i 's/$/ test.txt/' test.txt.md5
$ md5sum -c test.txt.md5
test.txt: OK