我正在编写一个脚本,用于比较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";
}
}
}
答案 0 :(得分:1)
您应该在循环开始之前打开,或使用open (OUT, ">>out");
追加模式。