Linux / HPUX中的正则表达式

时间:2009-05-24 20:40:35

标签: regex sed

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

我在sed中使用它们。

我正在尝试以下只能在Linux上运行:

  

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

现在我看到,如果我删除'^',那么它也适用于HP。 据我了解,这应得到两者的支持。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

简短的回答是“是的,可能存在差异”。

答案很长:

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

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

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

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