[vine-users:082001] Re: モジュール数のカウントコマンド
長南洋一
cyoichi @ maple.ocn.ne.jp
2012年 7月 16日 (月) 11:37:10 JST
長南です。
中司さんのメールより [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 メーリングリストの案内