Que tal, este es mi primera aportación a la comunidad en cuanto a Ubuntu Linux se refiere, normalmente cuando se tienen archivos que se han copiado desde máquinas con Windows X instalado, los archivos vienen con espacios en el nombre del archivo, provocando problemas de varios tipos al tratar de lidiar los archivos.

Un ejemplo por el cuál hice esta línea de script fue que tenía varios archivos de imágenes en mi Ubuntu y quería cambiarles el tamaño a todos al mismo tiempo, pero me marcaba varios errores ya que no podía interpretar los espacios y me mandaba error de archivo no encontrado, por lo tanto quise quitarles los espacios a los nombres de los archivos y ¡listo!
Por lo tanto a continuación muestro el script para su uso en general, también se puede usar para cambiar las extensiones de los archivos ya que muchas veces vienen en mayúsculas “JPG” y algunos programas no reconocen la extensión.
Con la siguiente línea se puede cambiar el nombre de todos los archivos que se encuentren en un directorio, en este ejemplo se cambia los espacios que existen en un nombre de archivo por un guion bajo. NO aplica a cambio nombres de directorios.
ls -1 *.net | while read f; do new=`echo $f | sed “s/ /_/g”`; echo “$f -> $new”; mv “$f” $new; done
Con la línea de abajo se cambian el nombre de todos los directorios quitando los espacios y poniendo guión bajo que se encuentren en un directorio con un criterio en específico:
ls -1d *_dir | while read f; do new=`echo $f | sed “s/ /_/g”`; echo “$f -> $new”; mv “$f” $new; done

Espero les sirva.

Netitux