Каково различие между sed-E и sed-e

Я работаю над некоторым старым кодом, и я нашел, что раньше использовал

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

но я теперь пробую

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

Это, кажется, делает то же самое или делает это? Я отчасти не забываю там быть причиной я сделанный это, но я не могу помнить, и выполнение "человека 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 означал, что будет соответствовать regex...

GNU sed version 4.2.1
18
задан Mint 29 June 2010 в 08:47
поделиться

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 используется для поддержки расширенных регулярных выражений.

32
ответ дан 30 November 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: