Linux/Unix Shell Scripting - separar una linea de un texto

   
Vista:

separar una linea de un texto

Publicado por novata (20 intervenciones) el 30/04/2014 17:51:08
buenas, tengo una duda sobre como separar los diferentes campos de texto de una linea para guardarlos en variables
a la linea accedo con
echo `grep -r "$usuario" fichero.txt`
y la cadena de ese texto es usuario:direccion:telefono:email

y necesito guardarlos independientemente cada uno en una variable
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 xve

separar una linea de un texto

Publicado por xve (254 intervenciones) el 30/04/2014 20:52:22
Hola se podría hacer con cut?

Seria algo así:
1
2
3
grep -r "$usuario" fichero.txt | cut -d: -f1
grep -r "$usuario" fichero.txt | cut -d: -f2
grep -r "$usuario" fichero.txt | cut -d: -f3

Te sirve?
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

separar una linea de un texto

Publicado por Tom (253 intervenciones) el 30/04/2014 23:15:09
Otra forma:

1
IFS=':' read U D T E <<< $(grep -r "$usuario" fichero.txt)
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

separar una linea de un texto

Publicado por caic (82 intervenciones) el 05/05/2014 15:34:46
Hola,

Con awk sería algo así:

1
2
3
4
grep -r "$usuario" fichero.txt | awk -F : '{print $1 " " $2 " " $3 " " $4}' | while read usuario direccion telefono email
do
  echo $usuario $direccion $telefono $email
done

Saludos.
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