失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > sas时间和Linux时间转化 尝试在SAS中获取文件属性(文件大小 创建日期时间和上次修改

sas时间和Linux时间转化 尝试在SAS中获取文件属性(文件大小 创建日期时间和上次修改

时间:2023-10-22 12:02:45

相关推荐

sas时间和Linux时间转化 尝试在SAS中获取文件属性(文件大小 创建日期时间和上次修改

我正在使用以下宏来使用SAS获取

Linux文件属性.我正在获取大小和上次修改时间的值,但没有获得“创建日期时间”的任何值.%macro FileAttribs(filename);

%local rc fid fidc;

%local Bytes CreateDT ModifyDT;

%let rc=%sysfunc(filename(onefile,&filename));

%let fid=%sysfunc(fopen(&onefile));

%let Bytes=%sysfunc(finfo(&fid,File Size (bytes)));

%let CreateDT=%sysfunc(finfo(&fid,Create Time));

%let ModifyDT=%sysfunc(finfo(&fid,Last Modified));

%let fidc=%sysfunc(fclose(&fid));

%let rc=%sysfunc(filename(onefile));

%put NOTE: File size of &filename is &Bytes bytes;

%put NOTE: Created &CreateDT;

%put NOTE: Last modified &ModifyDT;

%mend FileAttribs;

%FileAttribs(/path/test.csv);

我无法想象我错过了什么.

除了大小,创建和修改日期之外,我们还能获得其他任何文件属性吗?

谢谢,

萨姆帕斯.

如果要通过FINFO()获取所有可用文件属性的值,可以使用FOPTNUM()查找可用属性的数量,然后循环它们.这是一个宏:%macro GetAllAttributes(file);

%local rc fref fid i AttributeName AttributeValue;

%let rc=%sysfunc(filename(fref,&file));

%let fid=%sysfunc(fopen(&fref));

%do i=1 %to %sysfunc(foptnum(&fid));

%let AttributeName=%sysfunc(foptname(&fid,&i));

%let AttributeValue=%sysfunc(finfo(&fid,&AttributeName));

%put &AttributeName : &AttributeValue;

%end;

%let fid=%sysfunc(fclose(&fid));

%let rc=%sysfunc(filename(fref));

%mend GetAllAttributes;

在Windows(SAS 9.3)上,我得到:78 %GetAllAttributes(d:\junk\somefile.txt)

Filename : d:\junk\somefile.txt

RECFM : V

LRECL : 256

File Size (bytes) : 1011

Last Modified : 06Dec:14:14:54

Create Time : 06Dec:14:14:52

在Linux(SAS 9.3)上,我得到:41 %GetAllAttributes(~/somefile.txt)

Filename : /home/Quentin/somefile.txt

Owner Name : Quentin

Group Name : somegroup

Access Permission : rwx------

Last Modified : Fri Dec 6 14:14:54

File Size (bytes) : 1011

最后,请注意Linux上的SAS 9.3以丑陋的格式返回修改日期.技术支持告诉我,9.4会像Windows一样返回SAS友好的日期时间格式.如果您使用的是9.3,请参阅此问题以获取有关解析日期的建议:SAS macro function to get file modified date on linux.

sas时间和Linux时间转化 尝试在SAS中获取文件属性(文件大小 创建日期时间和上次修改日期时间)...

如果觉得《sas时间和Linux时间转化 尝试在SAS中获取文件属性(文件大小 创建日期时间和上次修改》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。