c_lines.awk
来自「国外网站上的一些精典的C程序」· AWK 代码 · 共 44 行
AWK
44 行
# count lines in a C program, not counting comments, blank lines or # form feeds# does separate count of preprocessor directives# if a preprocessor directive is commented out, it does not count## By: Dan Kozak { if (file == "") { file = FILENAME } if (file != FILENAME) { printf("Number of lines in %s is: %d\n",file,nl+ppd) printf("Number of preprocessor directives is: %d\n",ppd) printf("Number of lines excluding preprocessor directives is: %d\n\n",nl) file = FILENAME tnl += nl tppd += ppd nl = 0 ppd = 0 } if ($0 == "") { ; } else if ($1 ~ /^\/\*/ && $NF ~ /\*\/$/) { ; } else if ($0 ~ /\/\*/ && $0 !~ /\*\//) { in_comment = 1 } else if ($0 !~ /\/\*/ && $0 ~ /\*\//) { in_comment = 0 } else if (in_comment) { ; } else if ($1 ~ /^#/) { ppd++ } else { nl++ }} END { printf("Number of lines in %s is: %d\n",file,nl+ppd) printf("Number of preprocessor directives is: %d\n",ppd) printf("Number of lines excluding preprocessor directives is: %d\n\n",nl) file = FILENAME tnl += nl tppd += ppd printf("Total number of lines is: %d\n",tnl+tppd) printf("Number of preprocessor directives is: %d\n",tppd) printf("Number of lines excluding preprocessor directives is: %d\n",tnl) }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?