SAS & Unix : Automatisez la Recherche de Mots-Clés dans vos Fichiers avec l'Instruction PIPE

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Simon

Le Conseil de l'Expert

Simon
Expert SAS et fondateur.

L'utilisation de commandes système requiert que l'option XCMD soit activée sur le serveur SAS. Si votre script échoue sans erreur explicite, vérifiez auprès de votre administrateur que cette option n'est pas désactivée pour des raisons de sécurité.

Attention : Ce code nécessite des droits administrateur.
Ce script utilise des commandes système (X command et PIPE) pour naviguer dans un répertoire spécifique du serveur et exécuter une recherche récursive (grep) sur la chaîne 'AAShare.AAEXTRACTICIS'. Les résultats de la commande sont capturés et importés dans la table SAS© 'sasjobs'.
Analyse des données

Type : CREATION_INTERNE


Les données sont générées dynamiquement par l'exécution d'une commande système Unix (grep) via un 'filename pipe'.

1 Bloc de code
SYSTEM COMMAND
Explication :
Change le répertoire de travail courant du système d'exploitation vers un chemin spécifique et affiche une ligne vide.
Copié !
1x "cd /tmp/data";
2x "echo";
2 Bloc de code
DATA STEP Data
Explication :
Définit un fileref de type 'pipe' pour exécuter la commande 'grep' et capture sa sortie standard. L'étape Data lit ensuite ce flux pour créer la table 'sasjobs' contenant les lignes trouvées.
Copié !
1filename ps_list pipe "grep -r 'DATA.STABLE'";
2DATA sasjobs;
3 INFILE ps_list;
4 LENGTH process $ 180.;
5 INPUT process $ char180.;
6RUN;
L'Astuce Pro
Attention, l'instruction X lance un nouveau sous-shell à chaque appel, ce qui signifie que votre commande CD de la première ligne sera oubliée par le PIPE de la ligne suivante qui s'exécutera dans le répertoire par défaut ; pour corriger cela, vous devez soit spécifier le chemin absolu directement dans le grep, soit enchaîner le changement de répertoire et la recherche dans la même commande (cd /tmp/data ; grep ...).
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.

Documentation liée

Aucune documentation spécifique pour cette catégorie.