Publié le :
Macro / Système CREATION_INTERNE

Macro ls2sas - Listing de fichiers Unix vers SAS

Ce code est également disponible en : Deutsch English Español
En attente de validation
Attention : Ce code nécessite des droits administrateur.
Le script définit la macro %ls2sas© qui utilise la fonctionnalité 'filename pipe' pour exécuter la commande système 'ls -1'. Elle récupère la liste des fichiers correspondant au motif fourni en paramètre (filepattern) et génère une table SAS© contenant le nom du fichier et une version en minuscules.
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 (ls) et lues via un PIPE.

1 Bloc de code
DATA STEP Data
Explication :
Définition de la macro. Sauvegarde des options. Utilisation d'un 'filename pipe' pour exécuter la commande 'ls'. L'étape DATA lit le flux de sortie de la commande pour remplir la table cible avec les noms de fichiers trouvés.
Copié !
1%macro ls2sas(filepattern,dsout);
2 
3 %local savopts;
4 %let savopts=%sysfunc(getoption(NOTES));
5 
6 %IF not %LENGTH(&dsout) %THEN %let dsout=_ls2sas;
7 
8 options nonotes;
9 
10 filename _ls2sas pipe "ls -1 %sysfunc(dequote(&filepattern))";
11 
12 DATA &dsout;
13 LENGTH filename lcfname $ 200;
14 INFILE _ls2sas;
15 INPUT;
16 filename=trim(_infile_);
17 lcfname=lowcase(scan(filename,-1,"/"));
18 RUN;
19 
20 filename _ls2sas CLEAR;
21 
22 options &savopts;
23 
24%mend ls2sas;
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.
Informations de Copyright : Author: Roland Rashleigh-Berry, Date: 23-Apr-2013, License: Public domain