実現したいこと
テキストからgrepで改行を含んだ複数行の検索をしたいです。
本題
Web上のgrepシミュレーターでは問題ないのですが、実際にSUSE環境で実施してみるとマッチしません。
どなたか原因がわかる方、もしくは複数行の検索を行う方法をご存じの方いらっしゃらないでしょうか。
・grepコマンド
grep -P BBB[\s\S]*?DDD hoge.txt
・検索対象文字列
AAABBBCCC
DDDEEEFFF
GGGHHHIII
・期待結果
AAABBBCCC
DDDEEEFFF
・結果
マッチなし
試したこと
$ grep -P 'bbb[\s\S]*?ddd' hoge.txt
AAABBBCCC
DDDEEEFFF
GGGHHHFFF
$ grep -P 'BBB[\s\S]*' test.txt
AAABBBCCC
$ grep -o -P 'BBB[\s\S]*' test.txt
BBB
$ grep -P 'BBB[\s\S]*D' test.txt
マッチなし
$ grep -P 'BBB[\s\S]*?D' test.txt
マッチなし
$ grep -P 'BBB[\s\S]*?' test.txt
AAABBBCCC
$ grep -P '[\s\S]*?' hoge.txt
AAABBBCCC
DDDEEEFFF
GGGHHHIII
補足情報(FW/ツールのバージョンなど)
環境: SUSE LINUX
grep (GNU grep) 2.16
お礼
GNU grepで解決したかった為、GNU grepで解答している方をベストアンサーとさせていただきました。
文字足らずで申し訳ございませんでした、解答ありがとうございました!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。