принять меры, как только фоновый скрипт будет убит

perl -F"\h+|'" -lane '
   /\huser\h+ID\h/ and $a = $F[-1];
   /\hREMOTE\h+ADDRESS:\h/ and print "$a $F[-1]";
' log.file
  • Perlопции :
    • -F"\h+|'"Это разделяет текущую строку либо на серию горизонтальных пробелов, либо на один символ кавычки -. Это гарантирует, что искомая информация всегда находится в последнем поле.
    • -lЭто устанавливает ORSна новую строку, а также IRSна новую строку.
    • -aЭто приведет к разделению входных записей на основе разделителя полей, предоставленного опцией -F, или по умолчанию на пробел. Поля, вырезанные из текущей записи, сохраняются в массиве @F.
    • -nЭто установит неявное чтение входного файла -в цикле + автоматическая печать записей на стандартный вывод отключена.
  • когда мы встречаем строку с user IDи ограниченную с обеих сторон горизонтальными пробелами, мы продолжаем и запоминаем идентификатор пользователя, хранящийся в последнем поле, а именно, $F[-1].
  • , когда мы встречаем линию с REMOTE ADDRESS:и ограниченную с обеих сторон горизонтом. пробел, мы продолжаем и печатаем идентификатор пользователя, сохраненный ранее, и последнее поле этой строки, которое должно содержать IP-адрес.

Результаты:

pqr-xyz-coredev 101.16.75.75
-1
09.10.2019, 07:49
1 ответ

Поместите это перед циклом while:trap 'email_kill_alert' KILL

0
28.01.2020, 05:12

Теги

Похожие вопросы