Intentar cambiar el nombre de los archivos basándose en archivos de texto

Intentar cambiar el nombre de los archivos basándose en archivos de texto

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 OLDa NEW?

Cada archivo contiene \nun 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 echocuando 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

información relacionada