md5sumを使用してファイル名を含まないmd5ファイルをチェックサムする方法

md5sumを使用してファイル名を含まないmd5ファイルをチェックサムする方法

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

おすすめ記事