我有Perl脚本来获取给定文件的统计信息。但它不适用于.war
文件。 (此文件具有符号链接。)
我正在传递包含多个文件的文件位置。
$fntxt
指向/dw/xyz/file1.txt
。 file1.txt
有/vob/vob1/test.war
。
执行@Stats=stat($ln);
会为.war
文件返回一个空数组。
open(DAT, $fntxt);
@fnames=<DAT>;
close(DAT);
print "@fnames\n";
foreach $ln (@fnames)
{
chomp $ln;
$i = length $ln;
if ($i>0)
{
@Stats=stat($ln);
if (!@Stats)
{
print "File [$ln] specified in [$fntxt] does not exist. Correct then rerun.\n";
exit 255;
}
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)
= localtime((stat($ln))[9]);
$mon += 1;
$year += 1900;
$tstamp = sprintf("%04d%02d%02d%02d%02d.%02d",
$year,$mon,$mday,$hour,$min,$sec)
}
任何帮助都将不胜感激。
答案 0 :(得分:0)
使用符号链接(假设有一些unix风格),您希望链接文件的权限,而不是链接。使用-l检测文件是符号链接和readlink以找出它链接到的内容。如果有多个链接(即指向链接的链接...),请按照它们进行操作,直至找到该文件。