viernes, 1 de marzo de 2024

Renombrar todos los archivos de un directorio a minúsculas o mayúsculas

Me he encontrado con viejos programas en C++ procedentes de MS-DOS que no se pueden compilar porque se referencias los nombres en minúsculas y los nombres de archivos están en mayúsculas, lo cual es un problema con los sistemas Unix que si distinguen entre minúsculas y mayúsculas.

Para pasar todos los nombres de archivos de un directorio hay que ejecutar el siguiente comando dentro de dicho directorio:

for original in *; do mv $original `echo $original | tr '[:upper:]' '[:lower:]'`; done

Y listo ya podríamos compilar el programa.

Lógicamente, si por algo necesitáramos pasar todos los nombres a mayúsculas el comando sería:

for original in *; do mv $original `echo $original | tr '[:lower:]' '[:upper:]'`; done

Sabiendo un poco de bash estos problemitas son fáciles de resolver. ;-)

¡Ah! Si está en un zip también se puede descomprimir con todos los archivos en minúsculas con el comando:

unzip -LL archivo.zip

Algo más "para todos los públicos" pero que no siempre funciona.

No hay comentarios:

Publicar un comentario