0

我的要求是处理执行用户拥有的所有 .log 类型的文件。下面的代码不起作用。提前致谢...

#!/usr/bin/perl

$cmn_dir="/tmp";
my $USER = $ENV{'LOGNAME'};
print "user:$USER\n";
@ifile_log="find $cmn_dir -user $USER -type f -name \"*.log\"";
foreach $file(@ifile_log)
{
        print "file:$file\n";
}
4

2 回答 2

3

这里有一些链接可以帮助你:

  1. Perl glob 函数列出所有 *.log 文件
  2. Perl stat函数获取文件所有者ID
  3. Perl 变量教程查找当前用户 ID
于 2013-10-15T06:47:20.203 回答
2

您实际上并没有执行 Unix“查找”命令,您只是将它存储在一个字符串变量中。

您需要将其放在反引号中

`find ...`;

或者像这样在 qx()

qx(find ...);
于 2013-10-15T08:42:11.450 回答