私はmd5sumリストと多くのファイルを持っており、チェックサムを計算してからmd5sumリストに基づいて名前を変更したいと思います。
リストの例:
d4cd401ade018617629b39efed7b7be4 foo.bar
8fdb07ca55c164e0d5a69eff49fe800e bar.foo
8b167d01009f066aaf2d6c1ba336d842 foobar
現在のディレクトリのすべてのファイルをチェックし、チェックサムが上記のリストと一致する場合は、名前を正しい列に変更したいと思います。
どうすればいいですか?
ベストアンサー1
まず、これが最も深い解決策であると主張しません。しかし、それはアプローチです。
チェックサムとファイル名を持つファイルがあると仮定すると、filelist.txt
次のように使用できます。
while read -r checksum fname; do for f in file*; do if [[ $checksum == $(md5sum "$f" | cut -d' ' -f1) ]]; then mv "$f" "$fname"; fi ; done ; done < filelist.txt