【发布时间】:2014-10-13 00:12:05
【问题描述】:
我这里有一些代码。但我认为它不起作用。
my $answer = grep (/$A'\t'$B/, $file);
我也试过了
my $answer = system( "grep $A'\t'$B, $file);
第一个不打印任何内容,第二个将实际的 grepped 行打印到控制台。但是,$answer 仍然存在
我的目标是 grep 文件中的行。我知道应该只有 1 场比赛。我想将 $file 中与“$A\t$B”匹配的行保存到变量 $answer。我想知道如何在不读入整个文件的情况下做到这一点。但如果我逐行阅读,我认为这在时间上效率低下,因为在这里我将多次这样做。如果我读入整个文件,我担心会出现内存问题。
有什么想法吗?
【问题讨论】:
-
File::Grep CPAN 模块可能对您有很大帮助。
-
“但如果我逐行阅读,我认为这在时间上是低效的”。你认为 /usr/bin/grep 在搜索文件时会做什么?