web-dev-qa-db-ja.com

ディレクトリ内のすべてのファイルのMD5ハッシュを、ファイル名付きの.txtファイルに戻す

写真のディレクトリがあります。

そのディレクトリ内の各ファイルのMD5ハッシュと、.txtドキュメントに配置されたファイルの名前が必要です。このファイルは、MD5とファイル名を一緒に参照するために後で読み込まれます。

注:
これを指定して、すべてのディレクトリファイルをプルするだけです。
tarおよびfindを試してみましたが、良い解決策が見つからないようです...

これはディレクトリの例です:

/Desktop/testing
RandomFilename1.png
RandomFilename2.png
RandomFilename3.png

.txt出力は次のとおりです。

RandomFilename1,da39a3ee5e6b4b0d3255bfef95601890afd80709
RandomFilename2,da39a3ee5e6b4b0d3255bfef95601890afd80709
RandomFilename3,da39a3ee5e6b4b0d3255bfef95601890afd80709

私は運のないどこでもオンラインで見ました。
これはLinuxターミナル上にあります。

4
Grayson Moseley

次のbashコマンドを使用できます。

for file in testing/*; do md5sum $file; done > res.txt

もちろん、res.txtの宛先ディレクトリを調整する必要があります。
結果は次のようになります。

8b1500ea6fe42927891fd1831bb955ba  testing/Pic1.gif
73f3222889a14411a3b78675ed0bc269  testing/Pic2.gif
c5b18ef1ea1346f13f668a7ead4e4c92  testing/Pic3.gif

そのため、MD5ハッシュの後にファイル名とパスが続きます。

3
zx485

やりたいことのために、md5sumを実行し、sedまたはawkを使用して出力を変換します

md5sum *.png | sed 's/^\([0-9a-f]\+\) \+\(.\+\)/\2,\1/' >images.md5sums
md5sum *.png | awk '{print $2","$1}' >image.md5sums

ただし、md5sumのプレーン出力はhash filenameであり、フォーマットと同等です。標準のmd5sum出力形式を使用すると、md5sum -cで直接使用して(コピーまたはネットワーク転送後)ファイルのハッシュを確認できるため、多くの場合、より便利です。他のいくつかのユーティリティも、この特定の形式を想定しています。

1
xenoid