GNU C函数统计

我是根据GNU C文档的附录B来统计的:
    file:///usr/share/doc/glibc-doc/html/libc_36.html

统计结果如下:
      1 ISO/Amend1
      1 Sun
      1 SunOS
      1 Unknown
      1 vtimes.h
      1 XOPEN
      1 XPG4
      2 BSD/SVID
      2 Unix
      3 LFS
      3 X/Open
      3 XPG2
      4 SUNRPC
      5 ???
      7 IPv6
      7 stdlib.h
      8 POSIX.1c
      8 XPG4.2
     12 POSIX.1b
     13 POSIX.2
     15 XPG
     35 Unix98
     90 POSIX
     95 SVID
    105 POSIX.1
    205 BSD
    239 GNU
    443 ISO
总计:1309个函数,上面的值加起来大于1309是因为有的函数同时属于多个标准

使用的awk程序如下:

BEGIN{
counter=0;
b_func=0
}

{
if(b_func==1){
    if($0 ~ /\):/){
      b_func=0;
      leng = split($2,a,"[^A-Za-z.0-9?/]+");
      for(i=1;i<=leng;i++){
        if(a[i]!=""){
          print a[i];
        }
      }
    }
}
# 匹配函数的()
if($0 ~ /^.*\)[^:]*$/){
    counter++;
    b_func=1;
}
}

END{
if(count){
    print counter;
}
}

在命令行如下处理:
awk -f libc_count.awk libc_36.txt |sort|uniq -c|sort -n

要得到总计:
awk -f libc_count.awk libc_36.txt count=true

关于awk的使用有一个比较有趣的例子:
http://lifehacker.com/software/unix/review-your-most-oft+used-unix-commands-202712.php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值