以下は、DATA SET ステップの外観です。共通のプレフィックスで始まるディレクトリにファイルがあります。
このデバッグ プログラムのために、プレフィックスを「test」としましょう。
test_abc.txt、test_123.txt などのファイルを取得しました。
やりたいことは、各ファイルの最終変更時刻を抽出することです。私は Unix システムを使用しているので、次の「foo pipe 'ls -o -g --full-time ...'」を使用して、関心のある時間を取得します。
work.tempo で、ファイル名 (vname) と対応する変更日 (mod_datec) のリストを含むテーブルを取得したいと考えています。
Voilà le souci, je vous remercie!
%macro universe(directory, countryname, prefix);
data work.tempo;
length vname $256.;
rc = dopen(&directory);
vmax = dnum(rc);
select("&countryname");
when ("France")
do;
do i = 1 to vmax;
vname = dread(rc,i);
if vname=:"&prefix."
then do;
filename foo pipe "ls -g -o --full-time ~/&prefix.*";
data _null_;
infile foo;
input @15 mod_date $11.;
if mod_date=" " then stop;
mod_datec = scan(mod_date,1,"-")
||scan(mod_date,2,"-")
||scan(mod_date,3,"-");
put mod_datec= ;
run;
/*I want to output mod_datec to work.tempo from here*/
end;
end;
end;
otherwise;
end;
rc = dclose(rc);
run;
%mend;
%universe(Earth, France, test);