The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Número de secuencia en la generación de una clave de la columna sbasetty Programación de scripts de shell y 6 03-27-2008 12:09 PM
Clasificación en unix utilizando la columna número SWAT UNIX para usuarios avanzados y expertos 1 11-15-2007 06:59 AM
Identificar el número de columna pondlife Programación de scripts de shell y 2 09-28-2007 10:43 AM
devolver un número de columna scriptingmani Programación de scripts de shell y 2 07-06-2007 09:36 PM
awk para seleccionar una columna de número de línea especial mab_arif16 Programación de scripts de shell y 4 05-08-2006 05:26 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 03-15-2008
jkl_jkl jkl_jkl is offline
Usuario Registrado
  
 

Fecha: agosto 2007
Puestos: 46
número de columna, awk, ayudar

Todo,

Código:
$ cat myf.txt
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn

I am searching "xyz"

$ awk -F "|" '
{for(k=0;k<=NF;k++)
if ( $k == "xyz" )
print "line="NR"(column="k")"
}' myf.txt

Output:
line=1(column=2)
line=2(column=3)
line=4(column=2)


I want to see the output as :

line=1(column=2)
line=2(column=3)
line=3(Not found)
line=4(column=2)
HTH,
jkl_jkl
  #2 (Enlace permanente)  
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2007
Mensajes: 4.307
Debe ser como:

Código:
awk -F "|" '
{found=0}
{for(k=0;k<=NF;k++)
   if( $k == "xyz" ){
     print "line="NR"(column="k")"
     found=1
   }
}
!found{print "line="NR" (not found)"}
' myf
Recuerdos
  #3 (Enlace permanente)  
Old 03-15-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Fecha: febrero 2006
Ubicación: Almería, España
Posts: 393
Comprobar de esta manera:
Código:
> cat file
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn
Código:
>  awk '{printf("%s","line="NR);a=gsub(/\|/,"",$1);if (a==3){print "(Not Found)";next}print "(column="a+1")"}' FS='xyz' file
line=1(column=2)
line=2(column=3)
line=3(Not Found)
line=4(column=2)
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 12:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0