尝试根据文本文件重命名文件

尝试根据文本文件重命名文件

我正在尝试根据两个文本文件的内容重命名充满文件的目录。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

相关内容