【问题标题】:grep something from a file using system or grep [duplicate]使用系统或grep从文件中grep某些东西[重复]
【发布时间】: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 在搜索文件时会做什么?

标签: perl variables grep


【解决方案1】:

尝试使用反引号:

my $answer = `grep $A'\t'$B $file`;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    相关资源
    最近更新 更多