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 + -
显示快捷键?