I'm looking to get the output of unix command
%let myfile = x 'ls -tr /sas/data/mydata | tail -1';
to be added into the sas program as a variable &myfile to use in the program and I can get awa from hardcoded filenames.
Any ideas?
You probably want to use a PIPE device, e.g.:
filename ls pipe 'ls -tr /sas/data/mydata | tail -1';
data want;
infile ls;
input <whatever you want from the input>;
call symputx('myfile',<the variable you read>);
run;
This macro, not mine, will generate the directory listing of a folder into a data set and can recursively search the subfolders. Set the depth to control it not searching.
https://github.com/sasutils/macros/blob/master/dirtree.sas
You probably want to use a PIPE device, e.g.:
filename ls pipe 'ls -tr /sas/data/mydata | tail -1';
data want;
infile ls;
input <whatever you want from the input>;
call symputx('myfile',<the variable you read>);
run;
Exactly what I needed. Works perfectly! thanks!
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.