Question
Existe-t-il un moyen d’exécuter un one-liner dans sas ou dois-je créer un fichier? Je cherche quelque chose comme le drapeau -e en perl.
La solution
Mon favori utilise l'option -stdio
Soit:
sas -stdio
Puis commencez à taper. Ou ...
echo "proc options; run;" | sas -stdio
Autres conseils
La version Unix de SAS a été portée à partir de MVS il y a plusieurs années. Pour faire court, l'exécutable SAS n'est pas importé de STDIN. Pour que cela fonctionne avec Unix, modifiez simplement légèrement la suggestion précédente en quelque chose comme:
echo "your SAS code" > temp;sas -sysin temp
J'espère que cela vous sera utile.
sas -initstmt '%put hello world ; endsas ;'
sas -initstmt 'proc print data=sashelp.class; run ;'
Bien sûr, cela pourrait aussi être:
sas -initstmt '%inc large_program.sas; endsas;'
N'ayant jamais utilisé sas, ce que je pourrais essayer, c'est quelque chose comme:
echo <insert sas code here> | sas --execute-file -
Souvent, les applications vous permettent de spécifier «-» sous forme de fichier pour le lire à partir de STDIN. Et 'echo' affiche simplement ses arguments, et le | les relie ensemble.
Vous pouvez également utiliser l'option -nodms
. Cela vous donnera une version en ligne de commande de Base.