The UNIX and Linux Forums  

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
línea de impresión de la columna 1, antes de la transición ajp7701 Programación de scripts de shell y 2 04-18-2008 12:05 AM
cómo leer la columna de impresión y los valores en virtud de que la columna gemini106 Programación de scripts de shell y 6 03-28-2008 07:05 AM
Podemos utilizar 'tr' comando para imprimir la columna 5 de la producción de 'ls-l' Nidhi2177 Programación de scripts de shell y 4 09-17-2007 07:53 AM
imprimir columna usando awk cdfd123 Programación de scripts de shell y 2 07-26-2007 02:15 PM
awk puede imprimir utilizando una variable de columna? jambesh Programación de scripts de shell y 36 09-26-2006 08:39 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-17-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Imprimir fila si el valor en la columna 1 es la primera aparición

Hi All,

Me gustaría tener un script que es capaz de llevar a cabo la continuación.
Imprimir toda la fila si column1 que es "0001" para el siguiente ejemplo es el primera aparición. Tras "0001" de sucesos no se imprimen y así sucesivamente.

Cualquier experto puede ayudar?

Entrada:

0001 k \u003d 40
0001 k \u003d 2
0002 k \u003d 1
0003 k \u003d 1
0004 k \u003d 77
0004 k \u003d 1
0005 k \u003d 88
0005 k \u003d 6


Salida:

0001 k \u003d 40
0002 k \u003d 1
0003 k \u003d 1
0004 k \u003d 77
0005 k \u003d 88
  #2 (Enlace permanente)  
Old 03-17-2008
agn agn is offline
Usuario Registrado
  
 

Fecha: febrero 2008
Puestos: 172
Código:
$ cat buf                                                                                                                                                               
0001 k= 40
0001 k= 2
0002 k= 1
0003 k= 1
0004 k= 77
0004 k= 1
0005 k= 88
0005 k= 6
$ perl -n -e '($num) = split /=/; next if $found[$num]; print; $found[$num] = 1' buf  
0001 k= 40
0002 k= 1
0003 k= 1
0004 k= 77
0005 k= 88
  #3 (Enlace permanente)  
Old 03-17-2008
Shivdatta Shivdatta is offline
Usuario Registrado
  
 

Fecha: marzo 2006
Puestos: 73
$ cat prueba
0001 k \u003d 40
0001 k \u003d 2
0002 k \u003d 1
0003 k \u003d 1
0004 k \u003d 77
0004 k \u003d 1
0005 k \u003d 88
0005 k \u003d 6



i en `cat test | cut-d" "-f1»
hacer
grep "$ i" prueba | head -1>> out.txt
hecho
sort-u out.txt

0001 k \u003d 40
0002 k \u003d 1
0003 k \u003d 1
0004 k \u003d 77
0005 k \u003d 88
  #4 (Enlace permanente)  
Old 03-17-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderador
  
 

Fecha: diciembre 2003
Ubicación: Florida
Puestos: 1.930
Y el enfoque de Python

Código:
#!/usr/local/bin/python

keys = {}

input = file('test')
for line in input:
   key = line.split(' ', 1)[0]
   if key not in keys:
      keys[key] = 1
      print line,
  #5 (Enlace permanente)  
Old 03-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.889
Como un FAQ
Awk:

Código:
awk '!x[$1]++' file
Uso o nawk / usr/xpg4/bin/awk en Solaris.

Perl:

Código:
perl -ane'print unless $x{$F[0]}++' file
  #6 (Enlace permanente)  
Old 03-17-2008
agn agn is offline
Usuario Registrado
  
 

Fecha: febrero 2008
Puestos: 172
Brillante, radoulov!
  #7 (Enlace permanente)  
Old 03-17-2008
Raynon Raynon is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Ubicación: SG
Puestos: 350
Cita:
Publicado originalmente por radoulov View Post
Como un FAQ
Awk:

Código:
awk '!x[$1]++' file
Uso o nawk / usr/xpg4/bin/awk en Solaris.

Perl:

Código:
perl -ane'print unless $x{$F[0]}++' file
Hola radoulov,

El perl código parece funcionar, pero no el awk.
¿Pueden ayudarme? Estoy usando Solaris por el camino.

Además, se puede explicar su perl código de modo que puedo comprender mejor. ¿Cuál es la función de "ane-"

Código:
$ nawk '!x[$1]++' file
x[$1]++': Event not found
$ awk '!x[$1]++' file
x[$1]++': Event not found
$ /usr/xpg4/bin/awk '!x[$1]++' file
x[$1]++': Event not found

Última edición por Raynon; al 03-17-2008 09:12 PM..
Closed Thread

Marcadores

Etiquetas
solaris

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:41 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