次のように text.txt に行があります。
blah blah..
blah abc blah..
blah abc blah
blah blah..
blah blah..
blah blah..
blah efg blah blah
blah blah..
blah abc blah
blah abc blah
blah abc blah
blah abc blah
blah abc blah
blah blah..
blah efg blah blah
blah blah..
blah blah..
上記の例の場合、「efg」と「efg」の前に「abc」が最後に出現する間の行を出力したい:
blah abc blah
blah blah..
blah blah..
blah blah..
blah efg blah blah
blah abc blah
blah blah..
blah efg blah blah
sed は、次のような 2 つのパターンを使用して範囲を選択できることを知っています。
sed -n '/abc/,/efg/p' test.txt
ただし、出力は最後の "abc" ではなく、最初に出現した "abc" から開始されます。出力は次のようになります。
blah abc blah..
blah abc blah
blah blah..
blah blah..
blah blah..
blah efg blah blah
blah abc blah
blah abc blah
blah abc blah
blah abc blah
blah abc blah
blah blah..
blah efg blah blah
出力が最後に出現した "abc" から開始されるように、コマンド ラインで何らかの機能強化を行うことはできますか?