Veröffentlicht am :
Makro / System CREATION_INTERNE

Makro ls2sas - Auflistung von Unix-Dateien nach SAS

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Skript definiert das Makro %ls2sas©, das die Funktion 'filename pipe' verwendet, um den Systembefehl 'ls -1' auszuführen. Es ruft die Liste der Dateien ab, die dem als Parameter (filepattern) übergebenen Muster entsprechen, und erzeugt eine SAS©-Tabelle, die den Dateinamen und eine Kleinbuchstabenversion enthält.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden dynamisch durch die Ausführung eines Systembefehls (ls) generiert und über eine PIPE gelesen.

1 Codeblock
DATA STEP Data
Erklärung :
Definition des Makros. Speichern der Optionen. Verwendung einer 'filename pipe' zur Ausführung des 'ls'-Befehls. Der DATA-Schritt liest den Ausgabestrom des Befehls, um die Zieltabelle mit den gefundenen Dateinamen zu füllen.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Author: Roland Rashleigh-Berry, Date: 23-Apr-2013, License: Public domain