将新行添加到输出文件

时间:2014-05-25 07:53:02

标签: perl

我正在编写一个脚本,用于比较2行中的2变量,然后将具有相等值的行输出到新文件。但是,新文件仅包含最后一行,前一行是删除。我确实谷歌我的问题,但仍然找不到出路。对不起我的英语不好。 非常感谢你提前。

这是我的脚本看起来像:

for (tmp1 = 1 ; tmp1 <= cnt1 ; tmp1++) {

  $line1 = `head -tmp1 file1| tail -1`;
  @str1 = split(/\s/, $line1);

  for (tmp2 = 1 ; tmp2 <= cnt2 ; tmp2++) {

    $line2 = `head -tmp2 file2| tail -1`;
    @str2 = split(/\s/, $line2);

    open(OUT, ">out");
    if ($str1[3] eq $str2[3]) {
      print OUT "$line1";
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您应该在循环开始之前打开,或使用open (OUT, ">>out");追加模式。