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 (|).
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.