0

私は初心者の質問を前もってお詫びしたいのですが、c ファイルの関数見出しを grep したいと思っています。したがって、改行「^」、次にいくつかのスペース「」、次にいくつかの文字「.」、次にいくつかのスペース「」、次にいくつかの文字「.」、次にいくつかのスペース「 」、「( 」をgrepしようとしています" の次にいくつかの文字 ". " の次に ")".

私は試しgrep -E /^( *.*)\2 *\(.*\)/ *.c て みました

grep -E /^ *.* *.* *\(.* *.*\*\)/ *.c
                int foo (int bar, double cow)

しかし、 ( と ) はサポートされていないと思います。私は私が望む以上に戻ってきます。上記のような関数見出しをgrepするにはどうすればよいですか。繰り返しますが、上記の grep に関する私の問題は、多くの結果が返され、それらに () が含まれていないものが返されることです。関数の見出しが欲しいだけです。助けてくれてありがとう。

4

2 に答える 2

0

これはあなたの要件に合っていますか?

grep -P "^\s*[\w ]+\([^\)]*\)"
于 2012-09-24T13:39:24.903 に答える
0

これを試して:egrep '^[ \t]*[^ \t]*[ \t]*[^ \t]*[ \t]*[(][^ \t]*[)]' *.c

ところで:実装固有であるため、空白のショートカットの使用はお勧めしません。

于 2012-09-24T13:24:04.363 に答える