Pergunta

Eu tenho um identificador de arquivo SAS criado como tal:

filename filehandle "report.htm";

Eu tenho vários arquivos (arquivos Javascript embalados), que têm linhas muito longas (> 32 K de comprimento). Eu gostaria de ter uma maneira de anexar o seu conteúdo para o arquivo acima.

Eu sei que se eu fizer:

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

Às vezes, a cadeia muito longa tem quebras de linha inserido, o que eu não quero uma vez que poderia quebrar o código Javascript.

O ideal é algo como:

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

iria funcionar bem, mas eu só tenho o identificador de arquivo, não o caminho do arquivo original.

O que rotinas poderia me ajudar a realizar o trabalho de forma eficiente? Existe alguma maneira de ler o arquivo JS embalado e escrevê-los usando put, ou linha por linha ou caractere por caractere?

Obrigado!

Foi útil?

Solução

É possível recuperar o caminho completo do identificador de arquivo usando a função de caminho, em seguida, use o comando x como você queria.

Por exemplo:

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

x "cat packed.js >> &filenm.";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top