Awk que estou preso

1

Eu tenho um projeto em que estou trabalhando para o trabalho. O script que estou construindo inicialmente recebe dois argumentos: um é um Identificador exclusivo e o outro é para um arquivo de log (ambas as cadeias). Agora tenho feito a primeira parte que está analisando o Identificador exclusivo. Mas a segunda parte, está analisando uma parte específica da string que é uma sequência de números e letras gerada aleatoriamente.

Estou usando uma instrução awk para obter essa string aleatória e verifiquei que minha expressão está correta no Rubular. Mas quando tento testar o código com mais nada é impresso. Aqui está o que eu digitei na linha de comando:

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

Aqui está o que eu tenho no meu script:

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

E aqui um pedaço do log que eu estou analisando:

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

Estou procurando especificamente o código aleatório após o ID da associação. Existe alguma sugestão sobre como exibir os resultados? Estou sem ideias.

    
por ryekayo 18.06.2014 / 13:16

1 resposta

0

Por favor, tente

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

Ao passar o nome do arquivo de log diretamente para awk , você pode evitar usar for e cat também.

    
por 18.06.2014 / 13:43

Tags