perl 怎么得到unix上文件的创建时间

我需要FTP取文件,根据文件的生成时间去取,只取当天的文件,而FTP路径下有许多以前的文件,我应该怎么根据文件的生成时间去筛选取出文件。答案好的,我给追加分数!... 我需要FTP取文件,根据文件的生成时间去取,只取当天的文件,而FTP路径下有许多以前的文件,我应该怎么根据文件的生成时间去筛选取出文件。
答案好的,我给追加分数!
展开
 我来答
百度网友7dacf80a0
2015-08-27 · TA获得超过799个赞
知道小有建树答主
回答量:252
采纳率:100%
帮助的人:143万
展开全部
一、打开SecureCRT
二、连接Unix系统
三、输入命令
perl -MPOSIX=strftime -le 'print strftime("%Y%m%d%M%S",localtime( (stat "file")[10] ))'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
推荐于2016-11-14 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
stat()函数返回一个数组。下面是数组各元素的含义。
0 dev 设备号 驱动器号(C:通常是2,D:通常是3,等等)
1 ino 索引节号 总是0
2 mode 文件的方式 无
3 nlink 链接号 通常为0;Windows NT;文件系统允许链接
4 uid 文件所有者的用户ID(UID)总是0
5 gid 文件所有者的组ID(GID)总是0
6 rdev 特殊文件信息 驱动器号(重复)
7 size 文件大小(以字节计)文件大小(以字节计)
8 atime 上次访问的时间 上次访问的时间
9 mtime 上次修改的时间 上次修改的时间
10 ctime Inode修改时间 文件的创建时间
11 blksz 磁盘块的大小 总是0
12 blocks 文件中的块的数量 总是0

可以获取对应的创建、修改、访问时间。用perl中内置的时间函数time()返回的结果可以直接比较。因为都是从1700年以来的秒数。

文章出处:http://www.diybl.com/course/4_webprogram/cgi/perljs/200862/120424.html

例子程序代码:

$file='a.pl';
$mtime = (stat 'a.pl')[9];
@t = localtime $mtime;
$date = sprintf "%02u/%02u/%02u %02u:%02u:%02u", $t[4] + 1, $t[3], $t[5] % 100, $t[2], $t[1], $t[0];
print $date, "\n";

执行结果如下:

E:\ygb>perl a.pl
04/14/09 09:20:14
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式