Grep не дает ожидаемого результата при использовании трубы

Я запускаю команду ниже, но она возвращает пустую.

grep -i -e "abc()|daf()|newname|" test.txt

test.txt содержит данные ниже.

abc()
daf()
blahblah
newname

Я получаю пустой вывод, но ожидаю вернуть строку, не мог бы кто-нибудь объяснить или поделиться, почему не получаю желаемый результат. Спасибо!!

# grep
Источник
Codelisting
за 0 против

Отgrep(1) страница руководства ;

Basic vs Extended Regular Expressions

In basic regular expressions the meta-characters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions ?, +, {, |, (, and ).

Есть 2 варианта;

  1. Используйте расширенное регулярное выражение-E «включить»| с

    grep -i -E "abc()|daf()|newname" test.txt
    

    В чем разница между опциями grep -e и grep -E?

  2. Сбежать| продолжать использовать регулярное выражение-e :

    grep -i -e "abc()\|daf()\|newname" test.txt
    

Оба варианта приведут к:

abc()
daf()
newname

Попробуйте онлайн!

Codelisting
Популярные категории
На заметку программисту