TU AMIGO DE IMPRESIÓN
-
06-07-2019 - |
Pregunta
Tengo un identificador de archivo SAS creado como tal:
filename filehandle "report.htm";
Tengo varios archivos (archivos Javascript empaquetados) que tienen líneas muy largas (> 32K de longitud). Me gustaría una forma de agregar sus contenidos al archivo anterior.
Sé que si lo hago:
data _null_;
file filehandle;
put "very long string here";
run;
A veces, la cadena muy larga tiene saltos de línea insertados, lo que no quiero, ya que podría romper el código Javascript.
Idealmente, algo como:
x "cat packed.js >> report.htm";
funcionaría bien pero solo tengo el identificador de archivo, no la ruta original del archivo.
¿Qué rutinas podrían ayudarme a realizar el trabajo de manera eficiente? ¿Hay alguna forma de leer el archivo JS empaquetado y escribirlos usando put, ya sea línea por línea o carácter por carácter?
¡Gracias!
Solución
Puede recuperar la ruta completa desde el identificador de archivo utilizando la función de nombre de ruta y luego usar el comando x como desee.
Por ejemplo:
data _null_;
filenm=pathname('filehandle');
call symput('filenm',filenm);
run;
x "cat packed.js >> &filenm.";