|
|
发表于 2016-9-7 21:18:14
|
显示全部楼层
本帖最后由 pcl_test 于 2016-9-7 21:25 编辑
第三方http://www.bathome.net/s/tool/index.html?key=gawk- #*&cls&(dir /a-d/b/s *.java)|gawk -f "%~f0">con&pause&exit
- BEGIN{
- s=f=fd=0;
- blank=1; #设置是否统计空白行,0为不统计,1为统计
- if(blank!~/^[01]$/){print "参数有误!";exit}
- endstr="=========================================\n"
- while(getline file>0){
- if(!match(file, /(^.+\\)/, path))path[1]="当前目录/文件夹";
- if(!arr[path[1]])arr[path[1]]=1;
- n=GetLineCount(file, blank);
- sub(/^.+\\/, "" ,file);
- list[path[1]]=list[path[1]]"\n["n"]"file;
- lines[path[1]]+=n;
- files[path[1]]++;
- }
- for(b in arr){
- ++fd;
- s+=lines[b];
- f+=files[b];
- print b;
- print substr(list[b], 2);
- print "["files[b]"个文本文件"(blank?"包括空白行":"不包括空白行")"共"lines[b]"行]\n"
- }
- print endstr""fd"个文件夹"f"个文本文件"(blank?"包括空白行":"不包括空白行")"共"s"行"
- }
- function GetLineCount(file, blank){
- m=0;
- while(getline<file>0){
- if(blank){m++}
- else{if($0!~/^[[:space:]]*$/)m++}
- }
- close(file);
- return m;
- }
复制代码 |
|