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!

¿Fue útil?

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.";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top