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」コマンドにハッシュを渡すにはどうすればよいですか?私は標準入力を使用する必要があると思いますが、私が見たすべての例はmd5sumファイル形式を再作成しようとします
ファイルの内容は次のとおりです。
test.txt
:
test
およびtest.txt.md5
:
d8e8fca2dc0f896fd7cb4cb0031ba249
多くのコマンドと同様に、オプションの値がmd5sum
(-
から)の場合、man md5sum
は標準入力から読み取る機能があります。
MD5(128ビット)チェックサムを印刷またはチェックします。 FILEがない場合、または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
ファイルのMD5チェックサムを再計算して、test.txt.md5
に保存されているものと比較できます。
cmp test.txt.md5 <(md5sum test.txt | cut -d\ -f1)
出力がない場合、チェックサムは一致します。