У меня есть файл, который разбит на кучу разных заголовков. Мне нужно найти определенные поля под определенным заголовком. Например, я хочу напечатать имена под заголовком ПРИОРИТЕТНЫЕ ПОЛЬЗОВАТЕЛИ. Я могу найти этот сегмент с помощью grep и вывести имена (например, grep -A 10 "PRIORITY USERS" | имя grep: ), но мне нужно ограничить свой вывод только именами в заголовке PRIORITY USERS. Проблема в том, что количество записей под каждым заголовком варьируется, поэтому я не могу использовать фиксированное число с опцией grep -A.
Не могли бы вы помочь, пожалуйста?
Входной файл
USERS:
name: 286
fields1
fields 3
name: 123
fieldx: test
PRIORITY USERS:
name: jack
field1: 8
name: Joe
name: bob
field1: xyz
name: tempo
kind: Text
SEGMENT3
name: ginger
name: max
Non-USERS
Name: JOJO
Вывод должен быть:
PRIORITY USERS:
name: jack
name: bob
name: tempo
Заранее всем спасибо
:
(например, ПРИОРИТЕТНЫЕ ПОЛЬЗОВАТЕЛИ:), в то время как другие могут иметь пробелы до/после них и не:
после них (например, (СЕГМЕНТ3)? Если да, то как Можем ли мы отличить заголовок от любой другой строки в файле? Если нет, отредактируйте свой вопрос, чтобы сделать образец ввода точным, чтобы мы могли попытаться помочь вам решить вашу реальную проблему, а не какую-то проблему, которой у вас на самом деле нет. Также почемуname: joe
не входит в ожидаемый результат? - person Ed Morton   schedule 26.01.2016