
Estoy intentando cambiar el nombre de un directorio lleno de archivos según el contenido de dos archivos de texto. OLD
(que tiene los nombres completos de los archivos actuales) y NEW
(que tiene los nombres a los que deseo cambiarles el nombre) ambos en el mismo orden.
¿Cómo hago para cambiar el nombre de los archivos de OLD
a NEW
?
Cada archivo contiene \n
un nombre separado.
ANTIGUA línea de ejemplo:Blah Blah Blah Campaign 2 Episode 1.mp4
NUEVA línea de ejemplo:Campaign 2 Episode 1.mp4
Respuesta1
Uno muy específico de zsh:
old=(${(f)"$(<OLD)"}) new=(${(f)"$(<NEW)"})
for o n (${old:^new}) echo mv -i -- $o $n
Retirar echo
cuando esté satisfecho.
O uno portátil:
while IFS= read -r old <&3 && IFS= read -r new <&4; do
echo mv -i -- "$old" "$new"
done 3< OLD 4< NEW