SAS печать в файл - PullRequest
2 голосов
/ 31 июля 2009

У меня есть дескриптор файла SAS, созданный так:

filename filehandle "report.htm";

У меня есть несколько файлов (упакованные файлы Javascript), которые имеют очень длинные строки (> 32 КБ в длину). Я хотел бы добавить их содержимое в файл выше.

Я знаю, что если я сделаю:

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

Иногда в очень длинную строку вставляются разрывы строк, чего я не хочу, поскольку она может нарушить код Javascript.

В идеале, что-то вроде:

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

будет работать хорошо, но у меня есть только дескриптор файла, а не исходный путь к файлу.

Какие процедуры могут помочь мне эффективно выполнить работу? Есть ли какой-нибудь способ прочитать упакованный JS-файл и записать его, используя put, строка за строкой или символ за символом?

Спасибо!

1 Ответ

3 голосов
/ 31 июля 2009

Вы можете получить полный путь из дескриптора файла с помощью функции pathname, а затем использовать команду x, как вы хотели.

Например:

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

x "cat packed.js >> &filenm.";
...