- ベストアンサー
grepのパターン指定
grepコマンドで、{から次の}までをパターンとして指定する方法はありますか 例 {a:b},{b:c} とあった時、 {a:b},{b:c} となるのではなく、 {a:b} と {b:c} となるようにしたいんです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>やりたいのは、質問の例でいう1つ目の{から1つ目に出てくる}までを指定したいんです。 そのような正規表現になってるはずですけど? {[^}]*} を分解すると { 最初の { [^}]* }以外の文字が0回以上繰り返し } {の後の最初に見つかった } grep は正規表現に一致した行を出力しますから {a:b},{b:c} と出力されるでしょうが正規表現に一致しているのは {a:b} と {b:c} です
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
{[^}]*} {}がメタ文字として扱われる場合は \{[^}]*\} になるかと。
質問者
補足
説明が足りなかったかもしれません。 やりたいのは、質問の例でいう1つ目の{から1つ目に出てくる}までを指定したいんです。今の自分の技術では1つ目の{から最後の}までが抜き出されてしまうんです。
お礼
なるほど。ソウイウことだったんですね。grepの仕様もわからない未熟者でしたので、助かりました。本当にありがとうございました。