[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comando awk



El dom, 02-10-2011 a las 17:52 -0500, rantis cares escribió:
> El día 28 de septiembre de 2011 11:45, rantis cares
> <rantiscares@gmail.com> escribió:
> > El día 28 de septiembre de 2011 02:42, Marc Olive
> > <marc.olive@blauadvisors.com> escribió:
> >> On Tuesday 27 September 2011 06:59:01 Pablo Jiménez wrote:
> >>
> >>> >>> Y todo bastante bien, pero ahora quiero que la columna de dato1 me sea
> >>> >>> mostrado uno por uno y ejecute cierta accion (con otro comando). Para
> >>> >>> ello ejecuto la siguiente linea de ordenes
> >>
> >>> >>> Alguna idea?.
> >>> >>
> >>> >> cat está demás. Basta y sobra con awk.
> >>> >
> >>> >¿Esta demas?. cat lo que hace es mostrar linea por linea, si yo
> >>
> >> No, "cat" lo que hace es concatenar archivos y mostrarlos por la salida, si
> >> solo hay un archivo de entrada, entonces el contenido de ese único archivo va
> >> a la salida. Lo de "linea por linea" no se de dónde lo has sacado, pero NO es
> >> verdad.
> >
> > Este proceso ya lo habia hecho anteriormente, y efectivamente cat
> > concatena y/o unicamente muestra todo el archivo. En otros scripts que
> > he realizado con el "for i" combinado es como si lo hiciera "uno por
> > uno".
> >
> > Tienes toda la razon en lo que comentas.
> >
> >> Yo haria algo como:
> >>
> >> awk '{print $1}' tirar.txt | while read lin; do
> >>    echo "$lin"
> >>   cierta_accion || echo "No se puede ejecutar la orden"
> >> done
> 
> He estado haciendo pruebas con esta manera de hacer las cosas, pero
> ahora surge mi duda con esta respuesta.
> 
> Efectivamente me muestra la primera linea, pero si ahora quiero que me
> muestre las tres columnas simplemente modifico como sigue:
> 
> awk '{print $1,$2,$3}' tirar.txt | while read lin; do
>    echo "$lin"
>    cierta_accion || echo "No se puede ejecutar la orden"
>  done
> 
> Sin embargo surge el problema de que las tres columnas las muestra
> como una sola salida, pero me gustaria que las mostrara como una
> salida de manera independiente, por ejemplo
> 

y para que las imprimis juntas???

Te puedo hacer una pregunta?? por que NO LEES LA DOCUMENTACION ????
Hay miles de manuales y tutoriales sobre BASH AWK PERL PYTHON, etc
con los cuales podes resolver esa nimiedad, sin tener que preguntar
No te hace sentir bien el resolver las cosas por vos mismo??



> dato1 dato2 dato3 (archivo tirar.txt)
> 
> awk '{print $1,$2,$3}' tirar.txt | while read lin; do
>    echo "$lin"
> 
>    echo "imprime $1"
>    echo "imprime $2"
>    echo "imprime $3"
> 
> 


>    cierta_accion || echo "No se puede ejecutar la orden"
>  done
> 
> >
> > Siempre me sorprendo de la sencillez con la que las cosas se pueden
> > hacer. Sinceramente un dia llegare a la capacidad de alguno de
> > ustedes.
> >
> > Gracias
> >
> >>
> >>
> >> --
> >>
> >> Marc Olivé
> >> Blau Advisors
> >>
> >> marc.olive@blauadvisors.com
> >>
> >> C/ Molí de Guasch, 10 baixos 1a,
> >> 43440 L’Espluga de Francolí (Tarragona)
> >> Tel. +34 977 870 702
> >> Tel i Fax. + 34 977 870 507
> >>
> >> www.blauadvisors.com
> >>
> >>
> >> --
> >> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> >> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> >> Archive: http://lists.debian.org/201109280942.15699.marc.olive@blauadvisors.com
> >>
> >>
> >
> >
> >
> > --
> > "Al juntarme dia tras dia con los Listeros, mi capacidad intelectual
> > crece en proporcion inversa a la ignorancia generada. Gracias
> > Linuxeros"
> >
> 
> 
> 
> -- 
> "Al juntarme dia tras dia con los Listeros, mi capacidad intelectual
> crece en proporcion inversa a la ignorancia generada. Gracias
> Linuxeros"
> 
> 



Reply to: