Ой, я застрял на

Ой, я застрял на

У меня есть проект, над которым я работаю по работе. Скрипт, который я создаю, изначально принимает два аргумента: один — уникальный идентификатор, а другой — для файла журнала (оба строки). Теперь у меня есть первая часть, которая занимается разбором уникального идентификатора. Но вторая часть занимается разбором определенного фрагмента строки, который является случайно сгенерированной строкой цифр и букв.

Я использую awkоператор для получения этой случайной строки и проверил, что мое выражение верно в Rubular. Но когда я пытаюсь протестировать код с more, ничего не выводится. Вот что я ввел в командной строке:

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

Вот что у меня в сценарии:

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

А вот фрагмент журнала, который я анализирую:

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

Я ищу конкретно случайный код после идентификатора ассоциации. Есть ли какие-нибудь предложения по отображению результатов? У меня нет идей.

решение1

Пожалуйста попробуйте

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

Передавая имя файла журнала напрямую, awkвы можете избежать использования forand cat.

Связанный контент