C プリプロセッサフ​​ァイルの中かっこの間のテキストのキャプチャ

C プリプロセッサフ​​ァイルの中かっこの間のテキストのキャプチャ

前処理されたCソースファイルを使用しています。さらなる処理のために関数を抽出したいと思います。以下では、特定の機能の開始を見つけることができます。

gcc -DNDEBUG -march=native -E source.c > source.pre

BEGIN=$(grep -n 'static inline int some_function' source.pre | cut -f 1 -d ':')

上記のコードを実行した後、関数が起動する行番号を取得しました。この場合は7812です。

{C関数の中かっこ(と)の間にあるテキストをキャプチャする方法を考案するのに問題があります}。に基づいてテキストファイル行の中間部分の抽出、私はこれがすぐに閉じている中括弧()を見つける問題につながると思います}

すぐに閉じる中括弧を見つけるには?それとも、Cプリプロセッサフ​​ァイルで中括弧の間のテキストをキャプチャする方法は?

ベストアンサー1

}ソースコードにそれ自体が1行にストレイを置くことができる奇妙なことがないとしましょうsed

sed -n '/^static inline int some_function(/,/^}$/p' source.pre

おすすめ記事