ファイルでいっぱいのディレクトリがあります。各ファイルは特定のタイプの宛先ホストにコピーされます。
ディレクトリ内のすべてのファイルの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
これを行うには、find execとxargsを試しました。
findを使って次のコマンドを試しました。
find . -type f -exec md5sum {} + > {}.md5
xargsを使用して次のコマンドを試しました。
find . -type f | xargs -I {} md5sum {} > {}.md5
どちらの場合も、最終的に私が望むものではない{}.txtというファイルが生成されます。
私が作成したいmd5ファイルを生成するためにこれを調整する方法を教えてくれる人はいますか?
ベストアンサー1
cd /path/to/files &&
for file in *; do
if [[ -f "$file" ]]; then
md5sum -- "$file" > "${file}.md5"
fi
done