`perl -pe` vs`sed',表现明智

时间:2013-08-12 14:20:02

标签: macos perl sed

在OSX上,系统sed似乎有时对正则表达式和一些转义字符有点限制 - 以至于我最终使用perl -pe一段时间,并且现在我想知道我是否应该关心使用sed

我通常需要在连续管理大量命令时使用它,通常在执行期间多次调用sedperl,并且我想知道是否应该使用{{1当它完成工作时,仅在必要时使用sed。我从性能的角度对此感兴趣(在脚本中有多个这样的命令最终会有所不同),但如果还有其他值得提及的考虑因素,那么它们会受到欢迎

1 个答案:

答案 0 :(得分:9)

Perl可能比sed慢一点(但不是很多 - 它是一种非常快速的脚本语言);但是,如果Perl执行了您需要的操作而sed没有,请使用Perl。

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