El Tue, 30 Mar 2010 20:33:42 +0200, jose maria escribió:
El Martes 30 Marzo 2010, Camaleón escribió:
(...)
¿Cómo se podría obtener de forma inequívoca el tipo de extensión de un archivo?
* Asi me parece que te vas a encontrar con problemas con espacios y mas de un punto, creo que seria con sed
El comando ya tiene el valor de la ruta en una variable. No ve "paths" sólo los nombres de archivo.
echo "/home/usuario/fichero de marras.tar.gz" | sed ’s/.*\.//’
sm01@stt008:~$ echo "/home/usuario/fichero de marras.tar.gz" | sed ’s/.*\.//’ sed: -e expresión #1, carácter 1: unknown command: `
echo "/home/usuario/fichero de marras.zip | sed ’s/.*\.//’
sm01@stt008:~$ echo "/home/usuario/fichero de marras.zip | sed ’s/.*\.//’
:-? Ah, que le falta el cierre de comillas: sm01@stt008:~$ echo "/home/usuario/fichero de marras.zip" | sed ’s/.*\.//’ sed: -e expresión #1, carácter 1: unknown command: `
* En cuanto al primer ejemplo no veo por que esta mal ext=gz es la extension si evaluas el ultimo punto, imagina este.es.un.archivo.gz.pero.hecho.con.tar si lo quisieras ajustado, tendrias que evaluar la salida digamos del comando file y hacer comprobaciones con patrones en el nombre del fichero, para que el comando se enterase de la "intencion".
Con "file" (que ya lo había pensando) tampoco puedo extraer datos que me sirvan en este caso. Yo tengo acceso al archivo original, pero el usuario que lo recibe, no. Sólo ve los trozos que le mando y tiene que recomponerlos con la información que yo le pase. Quiero automatizar ese proceso al máximo.
* nombralos como .tgz , .tbz2 los que incluyan un empaquetador.
Ya, pero hay archivos que los descargo directamente como "tar.gz", tendría que descomprimirlos y volverlos a comprimir como zip o cualquier otra extensión "simple". Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org