ssed -R 与 perl -pe

ssed -R 与 perl -pe

如果你想要一个带有perl风格的正则表达式的sed,似乎有两种方法可以做到:

ssed -R
perl -pe

为此目的,是否有任何理由更喜欢一种工具而不是另一种工具?它们都支持 -i 标志。我假设它们使用相同的 perl 正则表达式库,因此可能具有相似的性能和相同的功能和错误。现代 UNIX 机器上不安装 perl 似乎很罕见。

答案1

ssed比 二进制小得多perl/usr/bin/ssed是 123K,PCRE 静态链接。 /usr/bin/perl为 1.7M,这不包括随其安装的任何标准模块。

ssed可以安装在小型发行版或救援/安装程序 ISO 上,但也perl可能不安装。不过,很难看出这一点,因为 PCRE 主要只是一种方便 - 无需太多额外的工作,普通的基本或扩展正则表达式sed就可以完成 PCRE 的大部分功能......这将节省另外 123K 的空间。

不太重要的是,ssed也可能比 更快perl,至少在启动开销方面是这样。编译perl脚本的速度并不快。这可能仅在具有重复调用 ssed 或 perl 的 for/while 循环的 shell 脚本中才有意义。

相关内容