Frage
Gibt es eine Möglichkeit, einen Einzeiler in sas laufen, oder muss ich eine Datei erstellen? Ich bin auf der Suche nach so etwas wie der -e-Flag in Perl.
Lösung
Mein Favorit ist die -stdio Option mit
Entweder:
sas -stdio
Dann schreiben beginnen. Oder ...
echo "proc options; run;" | sas -stdio
Andere Tipps
Die Unix-Version von SAS wurde vor von MVS Jahren portieren und eine lange Geschichte kurz zu machen, die SAS ausführbare importiert nicht von STDIN. Um diese Arbeit in Unix zu machen, nur ändern leicht den vorherigen Vorschlag in so etwas wie:
echo "your SAS code" > temp;sas -sysin temp
Hope dies hilfreich ist.
sas -initstmt '%put hello world ; endsas ;'
sas -initstmt 'proc print data=sashelp.class; run ;'
Aus Natürlich könnte dies auch sein:
sas -initstmt '%inc large_program.sas; endsas;'
Nie benutzt sas hat, was ich versuchen könnte, ist so etwas wie:
echo <insert sas code here> | sas --execute-file -
Oft Anwendungen können Sie festlegen ‚-‘ als Datei, um es von STDIN lesen. Und ‚echo‘ nur druckt seine Argumente aus, und die | verbindet sie zusammen.
Sie können auch die -nodms
Option verwenden. Dadurch erhalten Sie eine Kommandozeilenversion von Base.