awk – grep несколько строк и печать определенным образом

У меня есть следующий контент и файл с именем file.txt

 TIMESTAMP 200 J8899 INSTANCES 19 x86_64 False i-xxx1a1a t2.medium True subnet-93b224fb hvm vpc-7b801 STATE 16 running TIMESTAMP 300 J2099 INSTANCES 18 x86_64 False i-xxx1a1b t2.medium True subnet-93b224fb hvm vpc-7b801 STATE 16 running 

Теперь я хочу напечатать следующий вывод

 i-xxx1a1a : running i-xxx1a1b : running 

Обратите внимание, что строка, начинающаяся с TIMESTAMP, INSTANCES, STATE представляет собой новые строки

Я пробовал это делать, но это не сработало

grep -Ew "INSTANCES | STATE" file.txt | awk '{print $ 0}'

  • Grep только в файлах, находящихся в определенных папках
  • Как я могу исключить все «отклоненные разрешения» сообщения из «find» в Solaris
  • Значение Grep из json-файла
  • Текст Grep только после слова :
  • Развернуть переменную среды из PIPE (SHELL)
  • Как перечислить похожие строки?
  • Подавлять конкретные экземпляры ключа поиска в grep
  • Как я могу основать имя файла с уже существующей переменной?
  • One Solution collect form web for “awk – grep несколько строк и печать определенным образом”

    Вы можете просто использовать awk:

     awk '/INSTANCES/{ thing = $5; } /STATE/ { print thing,":",$NF; }' file.txt 

    Это предполагает, что соответствующее состояние всегда появляется после INSTANCE. Кроме того, если отсутствует состояние STATE для INSTANCES, он пропустит весь экземпляр.

    Interesting Posts

    Как использовать порт микрофона в качестве наушников

    Изменение экрана монитора по умолчанию в GRUB 2

    Рандомизация памяти в Linux

    перенаправить системные журналы systemd в файл

    Что на самом деле убивает 0?

    Черный экран со статическим курсором при запуске Debian

    Почему cc (компилятор C) и подобные утилиты по умолчанию не используют стандартные потоки?

    что обрабатывает SIG33 pass nostop noprint`, когда используется в gdb

    загрузить файл из Интернета на сервер с помощью SSH

    Источник только часть скрипта из другого скрипта?

    Укажите кодировку с помощью libreoffice –convert-to csv

    Порядок сортировки для заказа этого списка в определенном порядке

    ls: Не показывать каталоги, которые соответствуют одному шаблону в подстановочных поисках, только файлы

    В emacs, как я могу передать аргумент функции в определении ключа?

    Какую функциональность я теряю, отключая диспетчеры дисплеев GDM / KDM / SLIM / CDM и т. Д.?

    Linux и Unix - лучшая ОС в мире.