固定行順序とそれ以降のすべてのアイテムを削除する

固定行順序とそれ以降のすべてのアイテムを削除する

入力はinput.txt次の行を含むファイルです。

5
ccc
36
52
1
2
3
78
69
aaa
bb

固定行の順序は次のとおりです。

1
2
3

このシーケンスとそれ以降のすべての項目を削除し、これだけを取得したいと思います。

5
ccc
36
52

この出力をに挿入する必要がありますoutput.txt。 sedとgrepを同時に使用できると思っていましたが、使用できません。

ベストアンサー1

を使用する1つの方法sedは、3行の「スライドウィンドウ」を使用することです。
一度に1行ずつ印刷し、特定の3行シーケンスがパターンスペースにあるときに終了します。

sed -n '1N;$!N;/1\n2\n3/q;P;D' input > output

おすすめ記事