-
Notifications
You must be signed in to change notification settings - Fork 78
/
sourceCNT.sas
41 lines (29 loc) · 939 Bytes
/
sourceCNT.sas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
http://blog.clinovo.com/megha-becomes-the-third-time-winner-june-programming-challenge-now-is-finished/
*/
/*version I*/
%let _=%sysfunc(time());
filename _ temp;
data _null_;
infile 'dir/s/b "C:\Program Files\SASHome\*.sas"|findstr/v "sas7 sas~"' pipe end=EOF;
input;
if _n_=1 then call execute('proc printto log=_ new;');
call execute('data _null_; infile "'||_infile_||'"; input;');
if EOF then call execute('proc printto log=log;');
run;
data _null_;
retain s;
x=prxparse('/(\d+) records were read from the infile/');
infile _ end=EOF;
input;
if prxmatch(x,_infile_) then s+input(prxposn(x,1,_infile_),best.);
if EOF then put s=;
run;
%put %sysevalf(%sysfunc(time())-&_);
/*version II*/
%let _=%sysfunc(time());
data _null_;
infile 'for /f "tokens=* usebackq" %f in (`dir/s/b "C:\Program Files\SASHome\*.sas"^|findstr /i /v "sas7 sas~"`) do @type "%f"' pipe;
input;
run;
%put %sysevalf(%sysfunc(time())-&_);