現在行からパターンと一致しない行まで一致

現在行からパターンと一致しない行まで一致

私は本当に検索してみましたが、何も見つかりませんでした(正確に何を検索するのかわかりません)。

私はこれを行う方法を知っていますsed。現在の行から何か一致する行まで印刷します。

sed -n '/1/,/SOMETHING/p'

しかし、どうすれば同じことができますが、現在の行から次の行に印刷できますか?確かに何かマッチしますか?

たとえば、次のようにパイプしますsed

blah blah SOMETHING blah blah
blah blah SOMETHINGblahblahblah
SOMETHING blah blah
NO MATCH HERE

その後、フィルタリングして最初の3行だけを印刷しようとします(ただし、「3」は異なる場合があります)。

ベストアンサー1

これは実際に望むほど一般的ではないかもしれませんが、始点は次のようになります。

 sed -n '/SOMETHING/!q;p'

つまり、と一致することを確認してください/SOMETHING/。行矛盾!テスト結果反転用)次に終了します。それ以外の場合は、この行を印刷して次の行に進みます。

これは、同じコマンドでファイルに対する他のタスクと一緒に要求されたタスクをすぐに実行できるほど柔軟ではありませんsed

おすすめ記事