Linux/Unix Shell Scripting - Problema sed

 
Vista:
sin imagen de perfil

Problema sed

Publicado por juan (5 intervenciones) el 19/12/2013 21:36:48
Hola,

Soy nuevo en esto y tengo un pequeño problema: tengo un texto del siguiente tipo:

she3ufoeber00-2-45amkwsiehsdkgnsdg22-56-34ñaldhf33-66-55
asdñlghñdgs5sbdngjk22-55-78g-adfngñag22-11-77akldfs22-33-44

Donde cada string es de diferente tamaño. el problema es que usando el comando sed tengo que conseguir obtener los últimos 8 símbolos, es decir:

33-66-55
22-33-44

No se como hacerlo pero tiene que ser con sed. Gracias de antemano, saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de barna_rasta
Val: 22
Ha aumentado su posición en 2 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Problema sed

Publicado por barna_rasta (42 intervenciones) el 19/12/2013 23:11:39
Para extraer las ultimas posiciones puedes utilizar:

1
sed 's/.*\(........\)$/\1/'
( los puntos indican el numero de caracteres a tomar )

el resto te lo dejo para ti.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema sed

Publicado por juan (5 intervenciones) el 20/12/2013 14:24:15
Huchas gracias por el aporte pero el código no funciona. He utilizado:

sed 's/.*\(........\)$/\1/'g' nombrearchivo.txt

y muestra solo lo siguiente:

-55
-44

Intuyo que el guión (dash) no es interpretado como carácter o, si es así, consume 6 puntos. Alguna solución alternativa por favor?? Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barna_rasta
Val: 22
Ha aumentado su posición en 2 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Problema sed

Publicado por barna_rasta (42 intervenciones) el 20/12/2013 14:52:24
en Debian

1
2
# echo "she3ufoeber00-2-45amkwsiehsdkgnsdg22-56-34ñaldhf33-66-55" |  sed 's/.*\(........\)$/\1/' 
# ==========>   33-66-55


1
2
# cat [ARCHIVO.TXT]  | sed 's/.*\(........\)$/\1/'
# =====>  33-66-55
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problema sed

Publicado por juan (5 intervenciones) el 23/12/2013 14:30:56
Vale debería funcionar. El asunto ahora es que el archivo .txt debe contener algún formato con el que no funciona el comando. Adjunto el archivo abierto con un editor de texto. Debo pues, transformar el formato del archivo y después volver a probar. Si se abre el archivo con un terminal en Linux, tiene el aspecto del String que puse en el primer comentario. ¿Sabe alguien cómo cambiar el formato? Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar