行の先頭のテキストを一致させ、最初のX行に一致する行を印刷するには?

行の先頭のテキストを一致させ、最初のX行に一致する行を印刷するには?

同様の質問が見つかりましたここしかし、それはまさに私が望むものではありません。

次のテキストファイルがあるとしましょう。

[...]

age: 10
country: United States
city: New York
name: John

age: 27
country: Canada
city: Toronto
name: Robert

age: 32
country: Mexico
city: Guadalajara
name: Pedro

[...]

「name:Robert」で始まる行を一致させ、一致した結果で最初の3行を印刷して、次の行のみを取得したいと思います。

age: 27
country: Canada
city: Toronto
name: Robert

ターミナルでどうすればいいですか?

ベストアンサー1

使用grep

$ grep -B3 '^name: Robert$' input_file
age: 27
country: Canada
city: Toronto
name: Robert

おすすめ記事