У меня есть несколько текстовых файлов с этим форматом:
name: john
address: bay area
phone: 6505561234
image: /work/myimage.png
name: stark
dob: 5AD
shirt color: red
physical address: Westros
phone model: S2
email id: me@stark.org
phone model: S2
name: tara
dob: 1ad
shirt color: red
physical address: Westros
email id: me@stark.org
Там может быть несколько человек или контакт. Допустим, я хочу найти всех людей с моделью телефона «S2».
Я могу сделать 'grep' - это просто вернет это:
phone model: S2
phone model: S2
Я могу использовать контекст до / после в grep - но это просто фиксированное количество строк до / после того, как они будут распечатаны. С «предыдущим» контекстом 3 я мог бы получить что-то вроде этого:
shirt color: red
physical address: Westros
phone model: S2
---
name: tara
dob: 1ad
phone model: S2
Но это не то, что я хочу. Я хочу, чтобы появилась вся «запись». Любые подсказки о том, как сделать это с помощью стандартных команд Unix?