Domanda
Esiste un modo per eseguire un one-liner in sas o devo creare un file? Sto cercando qualcosa come la bandiera -e in perl.
Soluzione
Il mio preferito è usare l'opzione -stdio
In entrambi:
sas -stdio
Quindi inizia a digitare. Oppure ...
echo "proc options; run;" | sas -stdio
Altri suggerimenti
La versione Unix di SAS è stata trasferita da MVS anni fa e per farla breve, l'eseguibile SAS non importa da STDIN. Per far funzionare questo in Unix, basta modificare leggermente il suggerimento precedente in qualcosa del tipo:
echo "your SAS code" > temp;sas -sysin temp
Spero che sia utile.
sas -initstmt '%put hello world ; endsas ;'
sas -initstmt 'proc print data=sashelp.class; run ;'
Ovviamente questo potrebbe anche essere:
sas -initstmt '%inc large_program.sas; endsas;'
Non avendo mai usato sas, quello che potrei provare è qualcosa di simile:
echo <insert sas code here> | sas --execute-file -
Spesso le applicazioni ti permetteranno di specificare '-' come file per leggerlo da STDIN. E 'echo' stampa solo i suoi argomenti, e il | li collega insieme.
Puoi anche usare l'opzione -nodms
. Questo ti darà una versione da riga di comando di Base.