Retroceder   Foros del Web > Temas generales de computación > Sistemas Operativos > BSD y Linux

Respuesta
 
Herramientas Desplegado
Antiguo 28-mar-2007, 13:59   #1 (permalink)
sohoxp ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
shell con awk con parametros $

Hola.
En esta ocacion tengo problemas con un shell que usa awk.
Necesito buscar una cadena dentro de un archivo de texto, para lo cual, al correr el shell se le pasa como parametro.

#!/usr/bin/sh
#!/usr/bin/bash

Parametro=$1
awk -F"|" '/$Parametro/ {print $5}' transacciones.log

No me regresa nada por que no reconoce el contenido de la variable $Parametro si no que lo pasa como la cadena a encontrar.

Se agredece de ante mano las posibles soluciones.
sohoxp está desconectado   Responder Citando
Antiguo 28-mar-2007, 16:51   #2 (permalink)
Colaborador
AleSanchez llegará a ser famoso muy prontoAleSanchez llegará a ser famoso muy pronto
 
Avatar de AleSanchez
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 2.546
Enviar un mensaje por ICQ a AleSanchez Enviar un mensaje por MSN a AleSanchez Enviar un mensaje por Yahoo  a AleSanchez Enviar un mensaje por Skype™ a AleSanchez
Re: shell con awk con parametros $

es por las comillas simples, probalo asi:
Código:
#!/usr/bin/bash

Parametro=$1
awk -F"|" "'/$Parametro/ {print $5}'" transacciones.log
__________________
Zona Tux | Foro DIY
AleSanchez esta en línea ahora   Responder Citando
Antiguo 28-mar-2007, 17:57   #3 (permalink)
sohoxp ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Re: shell con awk con parametros $

Hola.
Gracias por tu respuesta pero aun no me funciona.
Hice lo que me recomendaste:

#!/usr/bin/bash

Parametro=$1

awk -F"|" "'/$Parametro/ {print $5}'" transacciones.log

Me sale el siguiente error:

bash-3.00$ test6.sh "cualquier cosa" <----------- sin comillas
syntax error The source line is 1.
The error context is
>>> ' <<<
awk: Quitting
The source line is 1.

Agradesco tu interes.
sohoxp está desconectado   Responder Citando
Antiguo 30-mar-2007, 14:03   #4 (permalink)
sohoxp ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2007
Mensajes: 7
Re: shell con awk con parametros $

Encontré una forma de hacer este shell y otra vez utilice un archivo de entrada para comandos.

#!/usr/bin/sh
#!/usr/bin/bash

Parametro=$1

echo "/$Parametro/ {print \$5}" > temp.dat

awk -F"|" -f temp.dat transacciones.log

El problema es que si no se especifica ninguna cadena de entrada, muestra el texto que encontro en $5.
Creo que esto se puede validar, para que si el valor de $Parametro es nulo, no se ejecute.
Otro detalle es que si buscamos, por ejemplo, la cadena "Tres tristes tigres" dentro del archivo transacciones.log y al shell solo le pasamos la cadena "Tres", me va a mostrar "Tres tristes tigres".
sohoxp está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 17:12.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93