A colleague suggested me to use the option dlm='|' to force to read the complete line.
But I wonder if there is a better option or combined options to do that .
Here's the code :
filename filelist pipe "find /folder1/sasdata/TestActuariat/ -type f ";
data fileslisting2;
length text $1000.;
infile filelist dlm='|';
input text;
run;
Here's an observation of fileslisting2;
Does the option dlm='|' is a good one or can we do better?
/folder1/sasdata/TestActuariat/Conversion Classic/Cycle3/gc/habi/gc_res_prop_jul2018.dpf.00010f97.0.1.spds9
Without the good option we get:
/folder1/sasdata/TestActuariat/Conversion
If you want to get the entire content of the input buffer into the text variable, why not just use an assignment statement, like this:
filename filelist pipe "find /folder1/sasdata/TestActuariat/ -type f ";
data fileslisting2;
length text $1000.;
infile filelist;
input;
text=_infile_;
run;
This technique will capture all of the text, even if it contains a pipe character (|).
If you want to get the entire content of the input buffer into the text variable, why not just use an assignment statement, like this:
filename filelist pipe "find /folder1/sasdata/TestActuariat/ -type f ";
data fileslisting2;
length text $1000.;
infile filelist;
input;
text=_infile_;
run;
This technique will capture all of the text, even if it contains a pipe character (|).
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.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.