GNU grep 改行を含めた複数行で一致する方法

こんにちは、minoruです。

Ubuntu(Xubuntu)に入っているgrep(GNU grep ver3.4)で、複数行の改行を含めた一致を見つけ出す方法を書き残しておきます。

OS:Xubuntu20.04
bash環境

テキストファイル

AAABBBCCC
DDDEEEFFF
GGGHHHIII

コマンド

grep -zPo '(?<=\b).*?BBB(.|\n)*?DDD.*\n' hoge.txt | tr -d '\0'

ネット上では-Pでいけるみたいな記述が多く見られましたが、ダメでした。
NG例

grep -P 'BBB[\s\S]*DDD' hoge.txt

参考:https://teratail.com/questions/5as07snjkqdfxn

シェアする

  • このエントリーをはてなブックマークに追加

フォローする