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

Evitar que el bucle rompa la linea en 2

Estas en el tema de Evitar que el bucle rompa la linea en 2 en el foro de Unix / Linux en Foros del Web. Buenas, Tengo un problema con un bucle, me trocea la linea en dos porque existe un espacio, habia una manera para evitar que esto sucediese ...
  #1 (permalink)  
Antiguo 15/02/2010, 14:36
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Evitar que el bucle rompa la linea en 2

Buenas,

Tengo un problema con un bucle, me trocea la linea en dos porque existe un espacio, habia una manera para evitar que esto sucediese en los bucles... pero no la recuerdo, vosotros?

Fichero original

debianita:/tmp# cat ejemplo
aaaa bbbb
cccc dddd
eeee ffff
gggg iiii
jjjj hhhh

Resultado del bucle

debianita:/tmp# for linea in $(cat ejemplo);do echo $linea;done
aaaa
bbbb
cccc
dddd
eeee
ffff
gggg
iiii
jjjj
hhhh

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 15/02/2010, 15:15
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Respuesta: Evitar que el bucle rompa la linea en 2

Lo solucioné poniendo esta linea en mi script

IFS=$'\x0A'$'\x0D'

Salu2!
  #3 (permalink)  
Antiguo 16/02/2010, 08:37
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Evitar que el bucle rompa la linea en 2

while read linea
pondrá la línea completa en $linea.

Sea un archivo "texto" con el siguiente contenido
Código:
aaaa bbbb
cccc dddd
eeee ffff
gggg iiii
jjjj hhhh
Podés obtener línea a línea usando
Código:
while read linea; do echo "Linea: $linea"; done < texto

Saludos.

Etiquetas: bucle, linea
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 20:13.