Как получить 2 или 3 строки, одна содержит текст, который я хочу, а остальные чуть ниже - PullRequest
0 голосов
/ 04 июля 2019

У меня есть скрипт, который выводит информацию о запущенных заданиях. Я заинтересован, чтобы захватить имя и статус Они расположены на разных строках (статус указан ниже имени)

name = any_name

status = Wait

Я пытался:

myScript -status | grep name 

Как отобразить также статус вместе с именем?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Пример файла данных:

test
name = any_name
status = Wait
some data

Поиск name и строки grep after (grep и awk)

grep -A 1 "name" file
awk '/name/ {p=2} p--' file
name = any_name
status = Wait

Поиск status и строки grep before (grepи awk)

grep -B 1 "status" file
awk '/status/ {print s"\n"$0} {s=$0}' file
name = any_name
status = Wait
0 голосов
/ 04 июля 2019

grep -C 1 Шоу делать работу.

Из справочной страницы grep:

Вывести NUM строк выходного контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...