grep文件shell中的确切字符串

时间:2011-03-09 14:07:08

标签: shell grep

我有一个包含两行的主机文件:

1.1.1.1主持人

1.2.3.4 host-MY

我想要仅包含主机字符串的行(不包含包含host-MY的其他行)

我使用:grep -x host / etc / hosts 但-x搜索整行匹配 提前致谢

3 个答案:

答案 0 :(得分:6)

编辑:破折号被视为单词分隔符。 试试这个:

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

旧帖子:

您可以使用:

grep -w host /etc/hosts

这适用于Solaris /usr/xpg4/bin/grep

便携版本将是:

grep -E '\<host\>' /etc/hosts

答案 1 :(得分:0)

尝试

grep -q -E "\bhost\b" /etc/hosts

答案 2 :(得分:0)

这个怎么样:

grep -E "\s*host\s*$" /etc/hosts