[LUG.ro] AWK
David B. Cortarello
lugro@lugro.org.ar
Tue, 25 Sep 2007 00:25:48 -0300
Si lo querés como un script de una linea de awk sería así:
awk -F "," '{ for ( x = 1; x <= NF; x++ ){ if ( $x ~ "[ ]*BANDERA1[
]*" ) { print x } } }' archivo
En una forma más clara:
BEGIN {
FS=","
}
{
for ( x = 1; x <= NF; x++ ){
if ( $x ~ "[ ]*BANDERA1[ ]*" ) {
print x
}
}
}
On 9/24/07, Mey wrote:
> Hola muchachos!
>
> Les hago una consulta respecto al comando WAK
>
> Tengo un archivo de texto plano, separado por comas, con la siguiente
> estructura:
>
>
> bar, foo, foo, bar, bar, foo, BANDERA1, foo,
> foo, bar, bar, bar, BANDERA1, foo, foo, bar, foo
> foo, BANDERA1
> BANDERA1, foo, bar, bar, foo
> foo, bar, bar, foo, foo, bar, bar, BANDERA1, bar
> ...
>
> La cantidad de datos separados por coma NO ES LA MISMA en cada linea.
> En cada linea se encuentra una bandera (una palabra clave).
>
> La idea es utilizar awk para procesar cada linea. Lo que no puedo hacer (ni
> pude hacer despues de googlear un par de dias) es detectar la columna en la
> cual se encuentra la bandera en cada linea. En el ejemplo seria $6, $5, $2,
> $1 y $8 respectivamente para cada renglon.
>
> Muchas gracias y saludos!!!
>
> MEY
>
--
David B. Cortarello <nomius`at`users`dot`berlios`dot`de>
Weblog: http://nomius.blogspot.com
Kwort Linux: http://www.kwort.org
Jabber: nomius@jis.mit.edu
"Computer science is no more about computers than astronomy is about
telescopes." - Edsger Dijkstra