我是根据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
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