我必须寻找一个确切的词并打印线的要求。 这是工作,如果我没有任何.
(点)中的行。
$cat file
test1 ALL=ALL
w.test1 ALL=ALL
$grep -w test1 file
test1 ALL=ALL
w.test1 ALL=ALL
这是给第二行也,我想只能用确切的词线test1
。
我必须寻找一个确切的词并打印线的要求。 这是工作,如果我没有任何.
(点)中的行。
$cat file
test1 ALL=ALL
w.test1 ALL=ALL
$grep -w test1 file
test1 ALL=ALL
w.test1 ALL=ALL
这是给第二行也,我想只能用确切的词线test1
。
尝试这个:
grep -E "^test1" file
这说明,任何以单词TEST1作为第一行开始。 现在,如果你需要在线路的中间鳍这一点,但你在的werent这个非常具体的这不起作用。 至少在例子中的^会工作。
为您的样品,您可以指定与该行的开头^
和空间\s
在正则表达式
grep "^test1\s" file
这取决于你可能需要匹配以及什么其他的分隔符。
我知道我有点晚了,但我发现这个问题和回答的思想。 一个字被定义为字符的序列,并且由空格分开。 所以我认为这会工作的grep -E“+测试1 | ^测试1”文件
此搜索其与TEST1或具有测试由至少一个前面的空白行开头的行。 对不起,我能找到一个更好的办法,如果有人可以请指正:)
你可以采取以下为样本测试文件。
$cat /tmp/file
test1 ALL=ALL
abc test1 ALL=ALL
test1 ALL=ALL
w.test1 ALL=ALL
testing w.test1 ALL=ALL
下面的正则表达式执行搜索开始Test1的字,并在线路也之间有一个字Test1的线。
$ grep -E '(^|\s+)test1\b' /tmp/file
test1 ALL=ALL
abc test1 ALL=ALL
test1 ALL=ALL