【问题标题】:sas unix dirlist - how to read in file and last modified timestamp in yyyymmmdd:hh:ss formatsas unix dirlist - 如何以 yyyymmmdd:hh:ss 格式读取文件和最后修改的时间戳
【发布时间】:2015-02-10 15:55:28
【问题描述】:

我在 UNIX SAS 中使用以下代码尝试从文件夹中读取文件:

filename DIRLIST pipe 'dir "&path." ls -lt';

data dirlist ;
  length file $1000 ;
  infile dirlist length=reclen ;
  input file $varying256. reclen ;
  if index(file, '.txt')>=1;
run;

我确实设法读入了我需要的文件,但时间戳看起来有点奇怪:

rw-r--r--. 1 user      8252 Oct 28 12:18 spec.txt

是否可以获取 yyyymmmdd hh:ss 格式或类似格式的时间戳?

谢谢

【问题讨论】:

  • 只是为了澄清一下:您是在问如何更改 dir(或 ls)以提供所需格式的时间戳,或者如何让 SAS 读取您的内容给?为什么你的dir 命令中有一个额外的ls
  • 嗨,乔,我想知道如何更改 dir 或 ls。我正在使用带有选项的列表命令 (ls) -lt [ l=长列表格式 + t=按修改日期排序]。
  • 如果您有兴趣了解使用 SAS 函数而非外部程序的方法,请参阅 here。然后,您可以使用任何标准 SAS 格式方法设置格式。
  • SRSwift 感谢我的问题的 SAS 版本选项。也很有帮助。

标签: unix sas ls


【解决方案1】:

ls--full-time 选项提供 ISO 样式的日期/时间。这不完全是您所要求的,但“YYYY-MM-DD HH:MM:SS.ssssssss”符合您评论的“或类似”部分。

根据您的平台,--full-option 可能不可用,但它似乎是标准 linux 发行版的一部分。

【讨论】:

  • 在某些平台上,您也许可以改用ls -lhE
猜你喜欢
  • 2023-01-31
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
相关资源
最近更新 更多