私はファイルでいっぱいのディレクトリを持っています。各ファイルは特定の種類の宛先ホストにコピーされます。
ディレクトリ内の各ファイルのMD5合計を計算し、そのmd5合計を、合計を生成したファイルの名前と一致するが、.md5が追加されたファイルに保存したいと思います。
たとえば、次のようなディレクトリがある場合:
a.bin
b.bin
c.bin
最終結果は次のようになります。
a.bin
a.bin.md5 # a.bin's calculated checksum
b.bin
b.bin.md5 # b.bin's calculated checksum
c.bin
c.bin.md5 # c.bin's calculated checksum
findexecとxargsを使用してこれを試みました。
findを使用して、次のコマンドを試しました:
find . -type f -exec md5sum {} + > {}.md5
xargsを使用して、次のコマンドを試しました:
find . -type f | xargs -I {} md5sum {} > {}.md5
どちらの場合も、最終的に{} .txtというファイルになりますが、これは実際には私が探しているものではありません。
誰かがこれらを微調整して、私が生成しようとしているmd5ファイルを生成する方法を指摘できますか?
承認された回答:
cd /path/to/files &&
for file in *; do
if [[ -f "$file" ]]; then
md5sum -- "$file" > "${file}.md5"
fi
done