Your question actually has two twists: 1) stream in all of the files 2) find and count WORD 'proc'. For 1), there are many ways to do it, the following code 's approach is just one of them. Do a google search, you will find many. The solution below does not require to know the file names, but it will investigate all of the files inside the same folder. 2). Since you mentioned WORD, so 'proc1' or 'xxproc' seems not be qualified, and I assume case is not important here. Otherwise, COUNT() will be very straightforward. So both FINDW() and some PRX functions will complete the task, here only FINDW()is showing. %let folder=h:\sas files\; filename inf pipe 'dir /b "h:\sas files\"'; data want; length fileloc _file $ 300; infile inf truncover; input fileloc $ ; /* read instream data */ /* The INFILE statement closes the current file and opens a new one if FILELOC changes value when INFILE executes */ _file="&folder."||fileloc; infile dummy filevar= _file end=done truncover; /* DONE set to 1 when last input record read */ do while(not done); /* Read all input records from the currently */ input var $ 100.; start=1; do while (1); rc=findw(var,'proc',' ',start,'i'); if rc=0 then leave; ct+1; start=rc+4; end; end; output; ct=0; drop rc start var; run; The code has been tested on 9.3 M2, modify the folder address etc to accommodate your own settings. Good luck, Haikuo
... View more