Dear All,
I need to execute a linux command and from de result create a data set:
%macro psawk;
%sysexec %str(ps aux | awk '{print $1,$2,$3,$6,$11}' >/SASData/test11.txt);
%mend psawk;
%psawk;
from this I get a file with the following structure
Regards,
Abraham
Assign filename to the file created by the command and read it into sas:
filename result '/SASData/test11.txt';
data want;
infile result truncover firstobs=2;
input user $ @;
if user = "USER" then do; input; return; end; /* skip 1st line */
input pid cpu rss command $;
run;
thanks for all your help
Assign filename to the file created by the command and read it into sas:
filename result '/SASData/test11.txt';
data want;
infile result truncover firstobs=2;
input user $ @;
if user = "USER" then do; input; return; end; /* skip 1st line */
input pid cpu rss command $;
run;
Thanks for your answer, it it works but I have a problem in the command column just put a fragment and not the complete information, this field can have up to 400 characters.
Regards
The default length is 8.
Change the $ after command to $400. (include the dot).
Why create the text file at all?
data want;
infile "ps aux | awk '{print $1,$2,$3,$6,$11}'" pipe firstobs=2 truncover ;
input user :$40. pid cpu rss command $500.;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.