perl 怎么得到unix上文件的创建时间
我需要FTP取文件,根据文件的生成时间去取,只取当天的文件,而FTP路径下有许多以前的文件,我应该怎么根据文件的生成时间去筛选取出文件。答案好的,我给追加分数!...
我需要FTP取文件,根据文件的生成时间去取,只取当天的文件,而FTP路径下有许多以前的文件,我应该怎么根据文件的生成时间去筛选取出文件。
答案好的,我给追加分数! 展开
答案好的,我给追加分数! 展开
2个回答
展开全部
一、打开SecureCRT
二、连接Unix系统
三、输入命令
perl -MPOSIX=strftime -le 'print strftime("%Y%m%d%M%S",localtime( (stat "file")[10] ))'
二、连接Unix系统
三、输入命令
perl -MPOSIX=strftime -le 'print strftime("%Y%m%d%M%S",localtime( (stat "file")[10] ))'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询