سؤال

ولدي مؤشر ملف SAS التي تم إنشاؤها على هذا النحو:

filename filehandle "report.htm";

ولدي العديد من الملفات (معبأة ملفات جافا سكريبت) التي لديها خطوط طويلة جدا (> 32K في الطول). أود الحصول على وسيلة لإلحاق محتوياتها إلى ملف أعلاه.

وأنا أعلم أنه إذا أفعل:

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

في بعض الأحيان، وسلسلة طويلة جدا وفواصل الأسطر إدراج، وأنا لا أريد لأنه يمكن كسر شفرة جافا سكريبت.

وبشكل مثالي، شيء مثل:

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

وسيعمل بشكل جيد ولكن ليس لدي سوى مؤشر الملف، لا مسار الملف الأصلي.

وماذا الروتينية يمكن أن تساعدني إنجاز العمل بكفاءة؟ هل هناك طريقة لقراءة ملف JS معبأة والكتابة بها باستخدام وضع، إما سطرا سطرا أو حرف بحرف؟

وشكرا!

هل كانت مفيدة؟

المحلول

ويمكنك استرداد المسار الكامل من مقبض الملف باستخدام وظيفة مسار ثم استخدم الأمر العاشر كما أردت.

وعلى سبيل المثال:

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

x "cat packed.js >> &filenm.";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top