Domanda

Ho un handle di file SAS creato come tale:

filename filehandle "report.htm";

Ho diversi file (file Javascript compressi) che hanno linee molto lunghe (> 32K di lunghezza). Vorrei un modo per aggiungere i loro contenuti al file sopra.

So che se lo faccio:

data _null_;
    file filehandle;
    put "very long string here";
run;

A volte, nella stringa molto lunga sono state inserite interruzioni di riga, cosa che non voglio poiché potrebbe interrompere il codice Javascript.

Idealmente, qualcosa del tipo:

x "cat packed.js >> report.htm";

funzionerebbe bene ma ho solo l'handle del file, non il percorso del file originale.

Quali routine potrebbero aiutarmi a svolgere il lavoro in modo efficiente? C'è un modo per leggere il file JS compresso e scriverlo usando put, riga per riga o carattere per carattere?

Grazie!

È stato utile?

Soluzione

Puoi recuperare il percorso completo dall'handle del file usando la funzione pathname quindi usare il comando x come volevi.

Ad esempio:

data _null_;
  filenm=pathname('filehandle');
  call symput('filenm',filenm);
run;

x "cat packed.js >> &filenm.";
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top