嘗試根據文字檔案重新命名文件

嘗試根據文字檔案重新命名文件

我正在嘗試根據兩個文字檔案的內容重命名充滿檔案的目錄。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

相關內容