为什么“grep”在这个例子中表现不同?

时间:2013-11-02 00:01:07

标签: linux unix grep

我正在尝试从以“Residue XXX”开头的文件中搜索一行。当我只有'残留物'但是如果我有'残留物XXX'那么这种行为有什么原因吗?

这里有效:

grep  '^Residue' log.txt
Residue XXX highDenisity

并且没有工作:

grep  '^Residue XXX' log.txt

3 个答案:

答案 0 :(得分:2)

如果您认为ResidueXXX之间存在制表符,请举手。

答案 1 :(得分:0)

改为使用与空白无关的正则表达式。

grep '^Residue\s*XXX' log.txt

此正则表达式涵盖多个标签或标签以及单词之间的空格。

答案 2 :(得分:0)

或者您可以像and那样执行逻辑awk

awk '/^Residue/ && /XXX/' file

这只会输出以Residue开头并且还包含XXX

的行

你也可以像这样and

awk '/^Residue.*XXX/' file