是不是被认为是grep中的空格?

时间:2012-03-27 14:54:03

标签: grep newline whitespace

我正在使用grep来查找VB函数调用的所有出现。我这样命令 -

   grep -n "FunctionX" FormX.frm

   1814:       FunctionX
   2682:    FunctionX
   3020:'    FunctionX
   3292:Private Sub FunctionX()
   3333:On Error GoTo FunctionX_Err
   3388: '  GoTo FunctionX_Exit
   3394:GoTo FunctionX_Exit
   3456:FunctionX_Err:
   3460:FunctionX_Exit:

但正如你所看到的,它也给了我不是函数调用的实例。对于VB函数调用,函数名称后面没有任何东西,所以我假设它是一个函数调用,后跟空格。我试过了 -

    grep -nr "FunctionX[[:space:]]" FormX.frm

然而,这没有给我任何结果。这是因为“\ n”不被认为是空格吗?在代码中每次调用FunctionX后都会跟一个“\ n”。如果是这样,我如何获得所需的结果?请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:1)

尝试在行尾匹配

 grep -nr 'FunctionX[[:space:]]*$' FormX.frm

记住grep正在逐行查看输入,所以它不会看到回车。上面的模式找到任何以FunctionX结尾的行,并在行尾之前跟随它后面有一些可能的(真实)空格。