Имам файл, който съм разделил на куп различни заглавия. Трябва да изведа определени полета под определено заглавие. Например искам да отпечатам имена под заглавието ПРИОРИТЕТНИ ПОТРЕБИТЕЛИ. Мога да направя grep за този сегмент с помощта на grep и да отпечатам имената (като grep -A 10 "ПРИОРИТЕТНИ ПОТРЕБИТЕЛИ"| grep име:), но трябва да огранича изхода си само до имена под заглавието ПРИОРИТЕТНИ ПОТРЕБИТЕЛИ. Проблемът е, че броят на записите под всяко заглавие варира, така че не мога да използвам фиксирано число с опцията 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