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

Problema para separar linea en bash

Estas en el tema de Problema para separar linea en bash en el foro de Unix / Linux en Foros del Web. Buenas, tengo un inconveniente... resulta que tengo un archivo con el siguiente formato 999876|h|Componente virtual las lineas vienen con ese formato y necesito hacer un ...
  #1 (permalink)  
Antiguo 12/03/2012, 13:07
 
Fecha de Ingreso: marzo-2012
Mensajes: 1
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema para separar linea en bash

Buenas, tengo un inconveniente...
resulta que tengo un archivo con el siguiente formato

999876|h|Componente virtual


las lineas vienen con ese formato y necesito hacer un script en el que separe en 3 variables distintas cada linea que voy leyendo....

el for ya lo tengo hecho y con awk obtuve tranquilamente los primeros 2 valores pero tengo problemas para obtener el 3º string ya que el espacio en blanco me arruina la vida.. alguien sabe como obtengo en una variable el valor "Componente virtual" que tengo en esta linea???

mucha gracias
  #2 (permalink)  
Antiguo 13/03/2012, 07:58
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema para separar linea en bash

si ya estás usando AWK, ¿cuál es el problema? $3 debería tener la cadena completa "Componente virtual", ¿qué método estás usando?

La forma correcta es sobreescribir la variable IFS y usar un while:
Código SH:
Ver original
  1. IFS="|" while read VAR1 VAR2 VAR3; do
  2.     ...
  3. done <archivo_de_entrada
O awk, pero también modificando el separador:
Código SH:
Ver original
  1. awk -F"|" '{ print $1 "-" $2 "-" $3 }'


Saludos.

Etiquetas: awk, bash, split
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 13:42.