使用grep时,如何确保搜索字符串从行的开头(不包括空格)开始?

时间:2012-04-12 13:51:54

标签: grep

我有以下grep查询

 $ grep -nr "ActiveChild\s*=" .

这将查找ActiveChild的所有实例,后跟空格 -

 ActiveChild = "ABC"
    ActiveChild = "PQR"
 ActiveChild = "XYZ"

然而,它也给了我像

这样的结果
 If ActiveChild = "LMN" Then

我想避免上述情况。我想确保“ActiveChild”是我正在搜索的第一个单词。如果之前有空格并不重要。不幸的是,写点像

 grep -nr "\s*ActiveChild\s*=" .

根本没有帮助。我怎么写这样的查询?此外,是“查询”正确的单词,还是在grep的上下文中使用的其他内容?

1 个答案:

答案 0 :(得分:1)

kent$  cat test
 ActiveChild = "ABC"
    ActiveChild = "PQR"
 ActiveChild = "XYZ"
 If ActiveChild = "LMN" Then

kent$  grep -E '^\s*ActiveChild\s*=' test
 ActiveChild = "ABC"
    ActiveChild = "PQR"
 ActiveChild = "XYZ"