19 lines
712 B
Text
19 lines
712 B
Text
pipe:=Thread.Pipe();
|
|
// hoover all files in tree, don't return directories
|
|
fcn(pipe,dir){ File.globular(dir,"*",True,8,pipe); }
|
|
.launch(pipe,vm.arglist[0]); // thread
|
|
|
|
dist,N,SZ,maxd:=List.createLong(50,0),0,0,0;
|
|
foreach fnm in (pipe){
|
|
sz,szd:=File.len(fnm), sz.numDigits;
|
|
dist[szd]+=1;
|
|
N+=1; SZ+=sz; maxd=maxd.max(szd);
|
|
}
|
|
println("Found %d files, %,d bytes, %,d mean.".fmt(N,SZ,SZ/N));
|
|
scale:=50.0/(0.0).max(dist);
|
|
szchrs,idx,comma:=",nnn"*20, -1, Walker.cycle(0,0,1).next;
|
|
println("%15s %s (* = %.2f)".fmt("File size","Number of files",1.0/scale));
|
|
foreach sz,cnt in ([0..].zip(dist[0,maxd])){
|
|
println("%15s : %s".fmt(szchrs[idx,*], "*"*(scale*cnt).round().toInt()));
|
|
idx-=1 + comma();
|
|
}
|