Publicado el :
Macro / Sistema CREATION_INTERNE

Macro ls2sas - Listado de archivos Unix a SAS

Este código también está disponible en: Deutsch English Français
En espera de validación
Attention : Este código requiere privilegios de administrador.
El script define la macro %ls2sas© que utiliza la funcionalidad 'filename pipe' para ejecutar el comando del sistema 'ls -1'. Recupera la lista de archivos que coinciden con el patrón proporcionado como parámetro (filepattern) y genera una tabla SAS© que contiene el nombre del archivo y una versión en minúsculas.
Análisis de datos

Type : CREATION_INTERNE


Los datos se generan dinámicamente mediante la ejecución de un comando del sistema (ls) y se leen a través de un PIPE.

1 Bloque de código
DATA STEP Data
Explicación :
Definición de la macro. Guarda las opciones. Uso de un 'filename pipe' para ejecutar el comando 'ls'. El paso DATA lee el flujo de salida del comando para llenar la tabla de destino con los nombres de archivo encontrados.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Roland Rashleigh-Berry, Date: 23-Apr-2013, License: Public domain