これはばかげた質問かもしれませんが、(
)
sedによってサポートされていますか?私はそれらの間に何があるかを知ってい\\(
て保持しているので、あなたはそれを何番でも\\)
アクセスできます。\1
括弧を探してその間にあるものを保存するには、正規表現が必要です。
sed 's/.*( .* \([[:alnum:]]+\) *).*/\1/' file
だから私はこれを探しています:
おそらくいくつかのもの(おそらくいくつかのもの[文字または数字]おそらくいくつかのもの)
外側()
のsを見つける必要がありますが、見つけることができない\
か、内側にあるものを保存したいと考えています。基本的に私はsを見つけるだけでよい()
ので、それらの中にいくつかのものを保存することができます。
私はこれを行う方法を探し続けるつもりですが、もしあなたの誰かがそれが本当に私を助ける方法を知っているなら。とを使用してみ""
まし''
たが、機能しないある種の誤った構文を使用しない限り。あなたが提供できるどんな助けにも感謝します。
編集:具体例:欲しい:
aname = (type name){ value, value }.
()と{}は他の意味があるので、特にsedで探す方法を知りたいです。\ {と\}が{}を取得する方法だと思いますが、()を取得する方法がわかりません。また、前のsed式ではそれが見つからないこともわかっています。これは、正規表現で()を探したいことを示すために書き留めた簡単な例にすぎません。ご迷惑をおかけして申し訳ございません。これが私の現在の正規表現であることがわかります。
start line aname = ( type name ) { values };
sed 's/^\([[:alnum:]]\)+ *={1} *[^()]({1} *[[:alnum:]]+ +\([[:alnum:]]\)+ *) *\{{1}\(.*\)\};/init_\2\( \&\1, \3)/' file