LINUX.ORG.RU

Сообщения laverka

 

Обработка лог файла grep awk

Есть лог файл вида:
03:01:29.317 info process [-,ea653d5aaa60ff72,ea653d5aaa60ff72,false\] PC1
05:22:42.211 info process [-,aw653d5aaa60ff72,aw653d5aaa60ff72,false\] PC2
05:22:42.302 info process [-,aw653d5aaa60ff72,aw653d5aaa60ff72,false\] acknowledge
06:09:32.083 info process [-,sd653d5aaa60ff72,sd653d5aaa60ff72,false\] PC5
05:12:32.759 ERROR process [-,sd653d5aaa60ff72,sd653d5aaa60ff72,false\] acknowledge
07:21:45.112 info process [-,45653d5aaa60ff72,45653d5aaa60ff72,false\] PC16
08:12:32.300 info process [-,31353d5aaa60ff72,ea653d5aaa60ff72,false\] PC1
09:25:41.000 ERROR process [-,31353d5aaa60ff72,ea653d5aaa60ff72,false\] acknowledge
06:09:35.083 info process [-,45653d5aaa60ff72,45653d5aaa60ff72,false\] acknowledge
03:01:25.714 info process [-,qa653d5aaa60ff72,qa653d5aaa60ff72,false\] PC1
05:12:32.308 info process [-,qa653d5aaa60ff72,qa653d5aaa60ff72,false\] acknowledge
05:12:32.309 ERROR process [-,ea653d5aaa60ff72,ea653d5aaa60ff72,false\] acknowledge
05:12:32.300 info process [-,98653d5aaa60ff72,98653d5aaa60ff72,false\] PC1
07:25:41.000 ERROR process [-,98653d5aaa60ff72,98653d5aaa60ff72,false\] acknowledge

Нужно отобрать сначала все записи по последнему полю, где например PC1 , с этих отобраных записей выбрать четвертое поле , которое в квадратных скобках, и потом снова пройти весь файл с поиском этих значенийкоторые в квадратных скобках были отобраны. А потом выбрать те у которых ERROR и соответствующую ему пару. предполагаемый вывод

03:01:29.317 info process [-,ea653d5aaa60ff72,ea653d5aaa60ff72,false\] PC1
05:12:32.309 ERROR process [-,ea653d5aaa60ff72,ea653d5aaa60ff72,false\] acknowledge
05:12:32.300 info process [-,98653d5aaa60ff72,98653d5aaa60ff72,false\] PC1
07:25:41.000 ERROR process [-,98653d5aaa60ff72,98653d5aaa60ff72,false\] acknowledge

спасибо..

 , ,

laverka
()

awk в bash сортировка результата

Помогите пожалуйста, два дня ничего не получается. есть лог файл

( читать дальше... )

Надо найти все что связано с apples !но, у всех разный номер процесса. Т.е. я сначала с помощью авк, ищу все строки, где есть яблоки, и выбираю номера процессов, дальше прохожу еще раз файл уже для поиска времени каждого процесса, который был связан с яблоками. Вот на этом этапе пытался сортировать , и оно сортирует итерацию цикла, но не полный результат. как сделать чтобы после прохождения всего цикла оно отсортировало именно полный результат Ожидаемый результат

( читать дальше... )

Попытка скрипта:

a=($(awk '{if($5 == "apple"){print $2}}' stack.log))
for i in "$a[@}}"
do
    :
awk -v search="$i" '$0~search{print $1}' stack.log
done 

 , ,

laverka
()

RSS подписка на новые темы