grep точная строка из файловой оболочки - PullRequest
2 голосов
/ 09 марта 2011

У меня есть файл хоста с двумя строками:

1.1.1.1 host

1.2.3.4 host-MY

Я бы хотел, чтобы строка содержит host только строка (не другая строка, содержащая host-MY)

Я использую: grep -x host / etc / hosts, но -x поиск всей строки совпадения Спасибо заранее

Ответы [ 3 ]

6 голосов
/ 09 марта 2011

РЕДАКТИРОВАТЬ: тире рассматриваются как разделитель слов. Попробуйте вместо этого:

grep -E '(^|[[:space:]])host($|[[:space:]])' /etc/hosts

Старый пост:

Вы можете использовать:

grep -w host /etc/hosts

Это отлично работает на Solaris с /usr/xpg4/bin/grep.

Портативная версия будет:

grep -E '\<host\>' /etc/hosts
0 голосов
/ 09 марта 2011

Как насчет этого:

grep -E "\s*host\s*$" /etc/hosts
0 голосов
/ 09 марта 2011

Попробуйте

grep -q -E "\bhost\b" /etc/hosts
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...