Я пытаюсь использовать следующую команду для подавления определенных строк вывода, содержащих строки «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)'