Frage

Ich habe eine SAS Datei-Handle als solche erstellt:

filename filehandle "report.htm";

Ich habe mehrere Dateien (gepackt Javascript-Dateien), die sehr lange Linien (> 32K Länge). Ich würde eine Art und Weise wie ihre Inhalte in die Datei oben anzuhängen.

Ich weiß, dass wenn ich es tue:

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

Manchmal hat die sehr langen String Zeilenumbrüche eingefügt, was ich nicht will, da es den Javascript-Code brechen könnte.

Im Idealfall, so etwas wie:

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

würde gut funktionieren, aber ich habe nur die Datei-Handle, nicht die ursprüngliche Dateipfad.

Welche Routinen könnte mir helfen, die Arbeit effizient zu erreichen? Gibt es eine Möglichkeit die gepackte JS-Datei zu lesen und schreiben, put, entweder Zeile für Zeile oder Zeichen für Zeichen?

Danke!

War es hilfreich?

Lösung

Sie können den vollständigen Pfad aus der Datei-Handelte abrufen unter Verwendung der Pfadname Funktion dann den x-Befehl verwenden, wie Sie es wollten.

Zum Beispiel:

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

x "cat packed.js >> &filenm.";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top