Zsh

嘗試根據文本文件重命名文件

  • April 15, 2021

我正在嘗試根據兩個文本文件的內容重命名一個充滿文件的目錄。OLD(具有目前文件的全名)和NEW(具有我希望重命名它們的名稱)兩者的順序相同。

我將如何將文件從OLDto重命名NEW

每個文件都包含\n單獨的名稱

舊範例行:Blah Blah Blah Campaign 2 Episode 1.mp4

新範例行:Campaign 2 Episode 1.mp4

一個非常特定於 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

引用自:https://unix.stackexchange.com/questions/554533