bash perl оператор «and»

с выводом:

apple text1
peach text2
banana text3
melon text4

Для удаления строк, начинающихся с "яблоко" или " банан "я поставил:

perl -pe 's/^apple.*\n|^banana.*\n//g'

И вывод правильный:

peach text2
melon text4

Но я хочу также удалить, например, возможные" папайю "или" манго ". Для этого я применяю закон Де Моргана:

perl -pe 's/^(?!peach).*\n&^(?!melon).*\n//g'

Но ничего не удаляется, потому что пока "|" означает «или», «&» не работает.
Какой символ означает «и» в команде bash perl?

0
задан 8 November 2020 в 02:23

1 ответ

Вы можете объединить два совпадающих выражения следующим образом:

perl -pe 's/^(?!peach)(?!melon).*\n//g'

или вы можете использовать оператор «или» следующим образом:

perl -pe 's/^(?!(peach|melon)).*\n//g'
1
ответ дан 6 November 2020 в 12:13

Другие вопросы по тегам:

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