Zsh
嘗試根據文本文件重命名文件
我正在嘗試根據兩個文本文件的內容重命名一個充滿文件的目錄。
OLD
(具有目前文件的全名)和NEW
(具有我希望重命名它們的名稱)兩者的順序相同。我將如何將文件從
OLD
to重命名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