El Martes 30 Marzo 2010, Camaleón escribió:
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".
* pero por que tienes que descomprimirlos, que la extension en linux es algo "visual", no es un parametro real del fichero, renombralos con mv mismamente a .tgz o tbz2. * si no quieres, mal asunto por que tienen mas de un punto , y si lo tienen en el medio del nombre pues lo mismo. * a ver, entiendo que no tienes la ruta /home/usuario en tu maquina no? pon algo que tengas. lo de las comillas es para meterle mano a los nombre con espacios y demas, si no como ya te digo puedes tener inconvenientes. * saca un listado aparente ls -1Q > listado.txt o a memoria y aplicales el cuento.