¿Cómo cambiar los nombres de file en un directory a nuevos nombres contenidos en un file?

Lo siento si esta pregunta ya se ha hecho, pero después de search en Google no he podido encontrar la respuesta correcta. No estoy seguro de hacer la pregunta correctamente, así que he acudido a usted en busca de ayuda.

Tengo un directory lleno de nombres de files que necesitan ser cambiados. No necesito simplemente renombrar un sufijo o prefijo, sino cambiar el nombre de los files por completo.

Tengo los nuevos nombres de file continúan un file llamado new_names.

¿Qué command puedo usar para leer los nombres que figuran en new_names y renombrar los files en un directory?

Muchas gracias por los consejos, enlaces o jerga correcta para google.

Puede usar esto para generar una list de commands mv :

 paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}' 

Si se ve bien, puedes ejecutarlo con:

 cd /path/to/files $( paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}' )