sed -E和sed -e有什么区别

我正在做一些旧的代码,我发现我曾经使用

sed -E 's/findText/replaceWith/g' #findText would contain a regex 

但我现在试试

 sed -e 's/findText/replaceWith/g' 

它似乎做同样的事情,或者呢? 我记得有一个原因,我做了,但我不记得,做“man sed”没有帮助,因为他们没有任何关于-E只有 – é,这是没有太大的意义以太。

 -e, --expression=script Append the editing commands in script to the end of the editing command script. script may contain more than one newline separated command. 

我以为 – 意思是它会匹配一个正则expression式

 GNU sed version 4.2.1 

Solutions Collecting From Web of "sed -E和sed -e有什么区别"

从源代码中, -E是与BSD sed兼容的未公开的选项。

 /* Undocumented, for compatibility with BSD sed. */ case 'E': case 'r': if (extended_regexp_flags) usage(4); extended_regexp_flags = REG_EXTENDED; break; 

而从手册来看,BSD中的-E sed用于支持扩展的正则表达式。