
Estou tentando renomear um diretório cheio de arquivos com base no conteúdo de dois arquivos de texto. OLD
(que contém os nomes completos dos arquivos atuais) e NEW
(que contém os nomes que desejo renomeá-los) ambos na mesma ordem.
Como eu renomearia os arquivos de OLD
para NEW
?
Cada arquivo contém \n
nome separado
Linha de exemplo ANTIGA:Blah Blah Blah Campaign 2 Episode 1.mp4
NOVA linha de exemplo:Campaign 2 Episode 1.mp4
Responder1
Um muito específico do zsh:
old=(${(f)"$(<OLD)"}) new=(${(f)"$(<NEW)"})
for o n (${old:^new}) echo mv -i -- $o $n
Remova echo
quando estiver feliz.
Ou um portátil:
while IFS= read -r old <&3 && IFS= read -r new <&4; do
echo mv -i -- "$old" "$new"
done 3< OLD 4< NEW