vine-users ML アーカイブ



[vine-users:082001] Re: モジュール数のカウントコマンド

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:082001] Re: モジュール数のカウントコマンド
  • Date: Mon, 16 Jul 2012 11:37:10 +0900 (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 mailing list
vine-users@xxxxxxxxxxxxxxxxxxxx
http://listserv.linux.or.jp/mailman/listinfo/vine-users