長南です。 中司さんのメールより [vine-users:081999] > >> Cソースコードを対象にするのであれば, >> ctags と wc とを組み合わせれば, 目的を達成できるかもしれません. >> $ ctags -f - *.c | grep $'\tf' | wc -l > > もう一つ、うまく行ってません。 > #define も一緒に検出されたりして、思い通りに行きません。 ctags というプログラムは、いくつかあるんですね。 Vine の ctags (by Darren Hiebert) ですが、関数の場合は、出力中の タブで区切られた四番目のフィールドに f という字が入るようです。 ctags -f - *.c の出力をよく見て、grep なり awk なりのパターンを 工夫すれば、何とかなるのではないでしょうか。たとえば、 $ ctags -f - *.c | grep $'\tf'$ とか、 $ ctags -f - *.c | awk -F "\t" '$4=="f"' とか。実際にはもっと工夫しなければならないかもしれませんが。 # grep $'\tf' という書き方を知りませんでした。bash の QUOTING なんですね。 # ちょっと man bash を引用すると、 # # Wrds of the form $'string' are treated specially. The word expands to # string, with backslash-escaped characters replaced as specified by the # ANSI C standard. (中略) The expanded result is single-quoted, as if # the dollar sign had not been present. # # これは便利そうな機能です。 -- 長南洋一 _______________________________________________ vine-users mailing list vine-users@xxxxxxxxxxxxxxxxxxxx http://listserv.linux.or.jp/mailman/listinfo/vine-users