【问题标题】:`perl -pe` vs `sed`, performance-wise [closed]`perl -pe` vs `sed`,性能方面[关闭]
【发布时间】:2013-08-13 21:44:36
【问题描述】:

在 OSX 上,系统 sed 有时似乎在正则表达式和一些转义字符方面有点受限 - 如此之多,以至于我最终在相当多的时间使用 perl -pe,现在我想知道我是否应该关心使用sed

我通常在连续传输大量命令时需要这个,通常在执行过程中多次调用sedperl,我想知道我是否应该在它执行时使用sed工作,仅在必要时使用perl。从性能的角度来看,我对此很感兴趣(在脚本中包含多个此类命令最终会产生影响),但如果您认为还有其他值得一提的考虑因素,自然欢迎他们.

【问题讨论】:

  • 你应该把它移到另一个 StackExchange 站点,比如 Unix 或 SuperUser。
  • 其实他应该跑个基准测试。
  • 如果您连续使用大量命令,您很可能没有正确使用 sed 或 perl。达到预期结果后,检查所使用的程序并尝试将进程数量减少moving 将它们转换为 sed 或 perl。始终尝试首先减少输入,因为这意味着未来的流程要做的工作更少。 HTH
  • @ikegami 这些脚本在具有不同规格的各种计算机上运行。我自己从未运行过任何类型的基准测试,我宁愿相信在这方面有一定经验的人。
  • 为什么您认为我们了解您的各种规格和未指定规格的计算机?

标签: macos perl sed


【解决方案1】:

Perl 可能比sed 慢一点(但也不慢——它是一种非常快的脚本语言);但是,如果 Perl 能满足您的需要而 sed 没有,请使用 Perl。

请注意,Perl(仍然)与程序 s2pa2p 一起分发,它们将 sedawk 脚本分别转换为 Perl。因此,您可以在sed 中设计您的脚本,然后自动转换为 Perl(并适应利用增强的 Perl 正则表达式等)。

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 1970-01-01
    • 2012-09-29
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多