Hoy estaba preparando un script en matlab para procesar un conjunto de imágenes en formato .jpg. Al ejecutar el programa me encontré que los archivos del directorio (carpeta) donde se encontraban las imágenes habían sido nombradas con extensiones como '.jpg', '.JPG', '.Jpg', etc.
El programa, que por cuestiones de compatibilidad con otros módulos, solo leía archivos con extensiones '.JPG' me obligó a hacer un pequeño script en linux que permitiera renombrar todos los archivos con la extensión en mayúsculas.
Por ejemplo: Si el archivo fuente era 01020.jPg lo debía convertir a 01020.JPG.
#!/bin/bash for file in *[jpg\|JPG\|jPg] do new_file=$(echo $file|tr '[:lower:]' '[:upper:]') cp $file ./UPPER/$new_file done
Donde:
for - Lee todos los archivos que terminen en '.jpg' o '.JPG'. En la variable file queda el nombre del archivo leído del directorio.
tr - Es un comando que permite traducir desde minúsculas a mayúsculas.
cp - Copia un archivo de un directorio a otro.
Más información:
- Bash Shell Loop Over Set of Files: http://www.cyberciti.biz/faq/bash-loop-over-file/
- Understanding Linux / UNIX tr command: http://www.cyberciti.biz/faq/how-to-use-linux-unix-tr-command/
END OF LINE
Comentarios