テキストファイルに基づいてファイル名を変更しようとしています

テキストファイルに基づいてファイル名を変更しようとしています

2 つのテキスト ファイルの内容に基づいて、ファイルでいっぱいのディレクトリの名前を変更しようとしています。OLD(現在のファイルの完全な名前が含まれています) とNEW(名前を変更したい名前が含まれています) は両方とも同じ順序です。

ファイル名を から に変更するにはどうすればいいでしょうOLDNEW?

各ファイルには\n別々の名前が含まれています

古い例の行:Blah Blah Blah Campaign 2 Episode 1.mp4

新しい例の行:Campaign 2 Episode 1.mp4

答え1

非常に zsh 特有のもの:

old=(${(f)"$(<OLD)"}) new=(${(f)"$(<NEW)"})
for o n (${old:^new}) echo mv -i -- $o $n

満足したら削除しますecho

またはポータブルなもの:

while IFS= read -r old <&3 && IFS= read -r new <&4; do
  echo mv -i -- "$old" "$new"
done 3< OLD 4< NEW

関連情報