最初から複数行モードまでのファイル内容の表示

最初から複数行モードまでのファイル内容の表示

最初から複数行モードまでファイルの内容を表示する方法パターン自体を含めませんか?

たとえば、次のテキストファイルがあるとします。

cat
dog
fox
cow
dove
bird
bunny
gnu
hen
dove
bird
buffalo

私のスキーマが次のような場合:

dove
bird
bunny

私が得たいものは:

cat
dog
fox
cow

私の実際のファイルはかなり大きいので、これを達成する方法が複数ある場合は、より速い方法を好みます。

そしてちょうどこれに関して同様の質問をしましたが、内容が違うので、それのために重複として表示しないでください!

ベストアンサー1

以下を使用して入力を1行ずつ処理sedし、チェーンのマルチラインパターンマッチングを処理できます。

/pat1/ { N; N; ...; /pat2\npat3\n.../q }

したがって、あなたの例では次のようになります。

sed -n '/^dove$/ { N; N; /\nbird\nbunny$/q; }; p' infile

出力:

cat
dog
fox
cow

おすすめ記事