如何使用perl获取war文件的统计信息
我有 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)
}
任何帮助将不胜感激。
I have Perl script that gets stat information for a given file. But it does not work for .war
file. (This file has symbolic link.)
I am passing file location which has multiple files.
$fntxt
points to /dw/xyz/file1.txt
. file1.txt
has /vob/vob1/test.war
.
Executing @Stats=stat($ln);
returns an empty array for a .war
file.
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)
}
Any help would be appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用符号链接(假设某种 unix 风格),您需要链接到的文件的权限,而不是链接的权限。使用 -l 来检测该文件是否是符号链接,并使用 readlink 来找出它链接到的内容。如果有多个链接(即链接到链接...),请跟随它们直到找到该文件。
With a symbolic link (assuming some flavor of unix) you want the permissions on the file being linked to, not the link. Use -l to detect that the file is a symbolic link and readlink to find out what it is linked to. If there are multiple links (i.e. link to link ...) follow them until you find the file.