我正在尝试根据两个文本文件的内容重命名充满文件的目录。OLD
(其中具有当前文件的全名)和NEW
(具有我希望重命名它们的名称)都按相同的顺序。
我将如何将文件从 重命名OLD
为NEW
?
每个文件包含\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