以下のような入力があります。間に行abc
をmno
含めて開始および終了するすべてを調べたいのですが、abc
前に再び表示される場合mno
は、最初に一致したを無視しabc
ます。アイデアは、互いに最も近いもので始まりabc
、終わるグループが必要なだけですmno
。
test.txt
ファイルには以下のデータが含まれています。
abc bbb abc yyy mno abc xxx mno
期待される出力:
abc yyy mno abc xxx mno
私は以下のgrep
ライナーを使用しています:
grep -ozP "(?s)(abc).\*?(mno)" test.txt
結果は次のとおりです。
abc bbb abc yyy mno abc xxx mno
最初の2行は出力に含まれていてはなりません。grep
希望する結果を得るために何を変更できるか教えてください。
grep -ozP "(?s)(abc)[^(abc)]*(mno)" 1
abc
yyy
mno
abc
xxx
mno
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加