0

需要帮助另一个信息(例如我分析的文件的行数)并将这两个信息输出到文件 calle test.txt 我尝试使用此代码和代码错误:操作员预期

#!/usr/bin/perl

if ($#ARGV ==-1)
{
    print "Saisissez un nom de fichier a nalyser \n";
}
else
{
    $fname = $ARGV[0];
    open(FILE, $fname) || die ("cant open \n");
}
while($ligne=<FILE>)
{
    chop ($ligne);
    my ($elemnt1, $ellement2, $element3) = split (/ /, $ligne_);
}
system("awk '{print \$2 > "test.txt"}' $fname");
4

1 回答 1

0

尝试转义最后一行的引号,test.txt实际上是在传递给system.

system("awk '{print \$2 > \"test.txt\"}' $fname");

编辑:将行数添加到同一个文件

规则执行时,Awk 变量NR最终会保存输入中的行数。END尝试这个:

$outfile = '"test.txt"';
system("awk '{print \$2 > $outfile} END {print NR > $outfile}' $fname");

笔记:

  1. 注意名称中$outfile没有任何有趣的字符。
  2. 与 shell 不同,>两次使用都非常安全。看这里。
于 2013-04-22T00:26:35.777 回答