Я пытаюсь понять разницу между grep -e
и grep -E
. Теперь из grep manpage
я получил:
-E, --extended-regexp
Интерпретировать PATTERN как расширенное регулярное выражение (см. Ниже).
-e PATTERN, --regexp = PATTERN
Используйте PATTERN в качестве шаблона; полезно для защиты шаблонов, начинающихся с -
Приведенное выше объяснение не имеет смысла для меня.
Итак, кто-то может объяснить мне, используя examples
разницу между этими двумя вариантами и когда использовать какой вариант.
PS: Версия: grep (GNU grep) 2.10
-e
самом деле является просто устранение неоднозначности, когда регулярное выражение начинается с тире. Так что grep ---foo
дает, unrecognized option: ---foo
но вы можете сказать, grep -e ---foo
чтобы grep для регулярного выражения ---foo
.