• 締切済み

改行を含んだgrep

お世話になっております。質問です。 エディタでサクラを使っています。 改行を含んだgrepはできますか? また、以下のやりかたを見ていただいて、良いやり方がありましたらご教示下さい。 ABCを含んだ行を対象に、;(行の終わり)までを抽出したいのです。 現在以下のような条件でgrepしていますが、ABCを含む行全てが抽出されません。 ABC.*(\r\n)*.*; また、以下のようにgrepすると、ABCを含む行全てがgrepされますが、対象ファイル内で改行されていた場合、;まで抽出されず、改行場所までしか抽出されません。 ABC; 詳しい方、宜しくお願い致します。

みんなの回答

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.1

質問文の中で「行」の定義が使われている場所によってまちまちなので、非常に理解しにくい文章になってます。 質問文を整理すると、 「文字列"ABC"から";"までのすべての文字列を抽出したい。このとき"ABC"から";"の間には途中に任意の数の改行文字が含まれる」 ということでよろしいですか? このような要件であれば、grepよりはperlやawkでスクリプト組んだ方が早そうですね。 私もそれほど詳しいわけではないのですが、"ABC"が含まれている行を発見したら、以後";"が見つかるまで読み込んだ行を出力し続けるようにすればよいのでは?

すると、全ての回答が全文表示されます。

関連するQ&A