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对以太并没有多大意义。

-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.

我以为-e表示它将与正则表达式匹配…

GNU sed version 4.2.1

回答:

从源代码开始,-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;

从手册开始,-E在BSD中sed用于支持扩展的正则表达式。

以上是 sed -E和sed -e有什么区别 的全部内容, 来源链接: utcz.com/qa/435849.html

回到顶部