6 Stimmen

sas-Einzeiler

Gibt es eine Möglichkeit, einen Einzeiler in sas auszuführen, oder muss ich eine Datei erstellen? Ich suche so etwas wie das Flag -e in Perl.

8voto

Rog Punkte 3975

Mein Favorit ist die Verwendung der Option -stdio

Entweder:

sas -stdio

Dann fangen Sie an zu tippen. Oder ...

echo "proc options; run;" | sas -stdio

5voto

Die Unix-Version von SAS wurde vor Jahren von MVS portiert, und, um es kurz zu machen, das ausführbare SAS-Programm importiert nicht von STDIN. Damit dies unter Unix funktioniert, müssen Sie nur den vorherigen Vorschlag leicht abändern, etwa in etwas wie:

echo "your SAS code" > temp;sas -sysin temp

Ich hoffe, dies ist hilfreich.

0 Stimmen

Es gibt weitere Befehlszeilenoptionen, um zu steuern, wohin die Ausgabe und das Protokoll gehen.

3voto

sas -initstmt '%put hello world ; endsas ;' 

sas -initstmt 'proc print data=sashelp.class; run ;' 

Das könnte natürlich auch sein:

sas -initstmt '%inc large_program.sas; endsas;'

0voto

davr Punkte 18412

Da ich noch nie sas verwendet habe, würde ich vielleicht so etwas versuchen:

echo <insert sas code here> | sas --execute-file -

Oftmals können Sie bei Anwendungen '-' als Datei angeben, um sie von STDIN zu lesen. Und 'echo' gibt nur seine Argumente aus, und das | verbindet sie miteinander.

0voto

Chris Blake Punkte 1

Sie können auch die -nodms Option. Damit erhalten Sie eine Kommandozeilenversion von Base.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X