Pregunta
¿Hay alguna forma de ejecutar una línea en sas o tengo que crear un archivo? Estoy buscando algo como la bandera -e en perl.
Solución
Mi favorito es usar la opción -stdio
Cualquiera:
sas -stdio
Luego comienza a escribir. O ...
echo "proc options; run;" | sas -stdio
Otros consejos
La versión Unix de SAS fue portada de MVS hace años y para abreviar, el ejecutable de SAS no 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 esto sea útil.
sas -initstmt '%put hello world ; endsas ;'
sas -initstmt 'proc print data=sashelp.class; run ;'
Por supuesto, esto también podría ser:
sas -initstmt '%inc large_program.sas; endsas;'
Nunca he usado sas, lo que podría intentar es algo como:
echo <insert sas code here> | sas --execute-file -
Muchas veces las aplicaciones le permitirán especificar '-' como un archivo para que se lea desde STDIN. Y 'echo' solo imprime sus argumentos, y el | los conecta juntos.
También puede usar la opción -nodms
. Esto le dará una versión de línea de comando de Base.