Foros del Web » Administración de Sistemas » Unix / Linux »

Borrar la extension "tar.gz" de un archivo

Estas en el tema de Borrar la extension "tar.gz" de un archivo en el foro de Unix / Linux en Foros del Web. Hola amigos, Necesito quitarle la extension "tar.gz" o cualquiera viene bien de ejemplo, a una lista de archivos, actualmente hago lo siguiente para guardar una ...
  #1 (permalink)  
Antiguo 03/05/2006, 20:13
Avatar de Sh4ka  
Fecha de Ingreso: marzo-2005
Mensajes: 205
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación Borrar la extension "tar.gz" de un archivo

Hola amigos,

Necesito quitarle la extension "tar.gz" o cualquiera viene bien de ejemplo, a una lista de archivos, actualmente hago lo siguiente para guardar una lista de tar.gz's que hay un directorio solo con por ej "nombre.tar.gz":
Código:
ls -l *.tar.gz | awk '{print $9}' > lista_archivos
me genera:

Código:
vargas.tar.gz
vellini.tar.gz
viajesoa.tar.gz
Lo que quiero es de alguna forma en el mismo comando borrar la extension "tar.gz" o de última una vez hecha la lista borrarlo con sed o alguna otra cosa para que la lista me quede asi:

Código:
vargas
vellini
viajesoa
Gracias.
  #2 (permalink)  
Antiguo 04/05/2006, 06:03
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Con SED es bastante fácil. Si en el documento lista.txt quieres sustituir A por B:

cat lista.txt | sed -e 's/A/B/g' > lista2.txt

Si lo que quieres es sustituir .tar.gz por "nada":

cat lista.txt | sed -e 's/\.tar\.gz//g' > lista2.txt

En vez de poner directamente .tar.gz, hay que escribir una barra inclinada hacia la izquierda (\) antes de cada punto, para "escaparlo", ya que si no en esa expresión regular el punto significaría "cualquier caracter".

Todo junto:

ls -l *.tar.gz | awk '{print $9}' | sed -e 's/\.tar\.gz//g' > lista_archivos
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:06.