Назад | Перейти на главную страницу

Регулярное выражение Egrep для подавления определенных строк

Я пытаюсь использовать следующую команду для подавления определенных строк вывода, содержащих строки «DST = 192.168.1» или «DST = 192.168.2»

tail /var/log/messages | egrep -v -e 'DST=(192\.168\.1\.1)|DST=(192\.168\.2\.1)'

Мое регулярное выражение не работает, может ли кто-нибудь предоставить мне рабочий?

grep -v 'DST=192\.168\.[12]\.1'
ought to do the trick.

Даже не нужен egrep.

--редактировать--

Если вы хотите сопоставить IP-адреса, которые отличаются более существенным образом:

grep -v 'DST=\(a\.b\.c\.d\|x\.y\.z\.q\)'

Вы можете добавить больше IP, добавив еще один \ | за которым следует следующий IP.

В этом случае вы действительно можете захотеть использовать egrep (или grep -E, то же самое), так что он будет выглядеть немного лучше, например:

grep -E -v 'DST=(a\.b\.c\.d|x\.y\.z\.q)'