.txt リストのファイル名を変更する

.txt リストのファイル名を変更する

ファイルとそのMD5ハッシュを含む.txtのリストがあります。

ab16d9ab5682bb0038c901ad8fc424c0 *file1.doc
28bb8e092301340f19585201166e5b86 *file2.doc
5f53d5e9512a717049185fcf617b8a37 *file3.doc
3c28de2b988ce82b04803671540427e5 *file4.doc
75079fb178347e3f1b3b886589ca6471 *file5.doc

.txt ファイルがディレクトリにある場合:

  1. ファイル名をハッシュに変更するには?
  2. ハッシュ値の名前をファイル名に変更するには?

ベストアンサー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

おすすめ記事