Vaya, estoy estancado

Vaya, estoy estancado

Tengo un proyecto en el que estoy trabajando para trabajar. El script que estoy creando inicialmente toma dos argumentos: uno es un identificador único y el otro es para un archivo de registro (ambas cadenas). Ahora ya he hecho la primera parte, que es el análisis del identificador único. Pero la segunda parte consiste en analizar un fragmento específico de cadena que es una cadena de números y letras generada aleatoriamente.

Estoy usando una awkdeclaración para obtener esta cadena aleatoria y he verificado que mi expresión es correcta en Rubular. Pero cuando intento probar el código con más, no se imprime nada. Esto es lo que escribí en la línea de comando:

awk '/\s=\s[a-zA-Z0-9-]+/ {print }' ~/jlog/server.log | more

Esto es lo que tengo en mi guión:

for j in $(cat ~/jlog/"$2"); do awk '/'"$1"'/\s=\s[a-zA-Z0-9-]+/ {print}'

Y aquí una parte del registro que estoy analizando:

2014-06-17 15:34:52,406 INFO  [random.random.xxx.message.Random] Processed instance (1.2.840.113619.2.284.3.2013961368.890.1402186239.15
5/1.2.840.113619.2.80.1944071037.22604.1402323463.136) from [email protected] to Random_AE.  AssociationID = 9eddb1b0-368e-4fb9-a684-44cc14be389c

Estoy buscando específicamente el código aleatorio después del ID de la asociación. ¿Hay alguna sugerencia sobre cómo mostrar los resultados? Estoy recién sin ideas.

Respuesta1

Por favor, inténtalo

awk '$3=="INFO" && $(NF-2)=="AssociationID" && $(NF-1)=="=" { print $NF }' ~/jlog/server.log

Al pasarle el nombre del archivo de registro directamente, awkpuede evitar el uso de fory cattambién.

información relacionada