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