0

Linux 和 HPUX 上的正则表达式有区别吗?

我在 sed 中使用它们。

我正在尝试以下仅适用于 Linux 的方法:

sed -e "s/^\s ant\s $/#ant/g" Makefile

现在我看到,如果我删除“^”,那么它也可以在 HP 上运行。据我了解,这应该得到双方的支持。

4

2 回答 2

2

你在哪里使用它们?在 sed? 使用某种脚本语言(比如 perl)?别的地方?问题不清楚。您必须发布您的实际正则表达式,或者更好的示例脚本/输入/输出。无论如何,\s我想,代表“空白”,这取决于语言环境,也许还有其他因素。

于 2009-05-24T20:52:41.653 回答
1

简短的回答是“是的,可能有区别”。

长答案:

这取决于您在每台机器上使用的 sed 版本,而不是机器运行的操作系统。

根据我的经验,我发现安装在 HP-UX 之类的工具包(即 sed、grep、awk 等)上的工具包通常不如大多数流行的 Linux 发行版上的版本。

我的猜测是,在 HP-UX 上,您使用的是 HP 构建的 sed 版本,而您在 Linux 上使用的是 GNU sed。您要么需要了解 HP 版本能做什么或不能做什么,并在 Linux 上找到与您的版本的共同点,或者看看您是否可以将 GNU 版本安装在您的 HP 机器上的某个位置。

至于您提供的特定正则表达式,以及任何正则表达式问题,如果您还提供一些示例文本以匹配并说明您期望正则表达式完成的内容,这将有所帮助。

于 2009-09-29T21:13:09.193 回答