2008-11-06 18 views
5

¿Hay alguna manera de ejecutar un único liner en sas, o tengo que crear un archivo? Estoy buscando algo como la bandera -e en Perl.sas one-liner

Respuesta

7

Mi favorito está utilizando la opción -stdio

O bien:

sas -stdio 

A continuación, empezar a escribir. O bien ...

0

Nunca tener sas utilizados, lo que podría intentar es algo así como:

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

aplicaciones Muchas veces los le permitirá especificar '-' como un archivo que tiene que leer de STDIN. Y 'echo' solo imprime sus argumentos, y | los conecta juntos.

5

La versión Unix de SAS fue portada de MVS hace años y, para no hacer la historia corta, el ejecutable SAS no se importa de STDIN. Para que esto funcione en Unix, simplemente modifique ligeramente la sugerencia anterior en algo como:

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

Espero que ayude esto.

+0

Existen otras opciones de línea de comandos para controlar a dónde van la salida y el registro. –

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

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

Off supuesto, esto también podría ser:

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

También puede usar la opción -nodms. Esto le dará una versión de línea de comando de Base.