ファイルとそのMD5ハッシュを含む.txtのリストがあります。
ab16d9ab5682bb0038c901ad8fc424c0 *file1.doc
28bb8e092301340f19585201166e5b86 *file2.doc
5f53d5e9512a717049185fcf617b8a37 *file3.doc
3c28de2b988ce82b04803671540427e5 *file4.doc
75079fb178347e3f1b3b886589ca6471 *file5.doc
.txt ファイルがディレクトリにある場合:
- ファイル名をハッシュに変更するには?
- ハッシュ値の名前をファイル名に変更するには?
答え1
ファイル名をハッシュに変更するには?
while IFS=' ' read <&3 -r hash fileName; do
echo mv -v -- "${fileName#\*}" "${hash}";
done 3< infile.txt
ハッシュ値の名前をファイル名に変更するには?
while IFS=' ' read <&3 -r hash fileName; do
echo mv -v -- "${hash}" "${fileName#\*}";
done 3< infile.txt
ノートecho
:試運転に満足したら削除してください。-v
一部の実装でサポートされている非標準拡張です。mv
詳しく説明してください。mv
サポートしていない場合は削除してください。
ユーザープロンプト(存在する場合)infile.txt
を妨げないように、stdin(0)の代わりにファイル記述子3を開きます。mv