【问题标题】:The result of grep isn't as expected in some scenarios [duplicate]在某些情况下,grep 的结果与预期不符[重复]
【发布时间】:2017-01-17 18:23:11
【问题描述】:

问题一:

文件名:测试文件

文件中的一行字符串:测试我的文件

执行以下命令:

$ grep "test ./testfile

结果如下:

测试我的文件

我的问题是为什么带有模式 "test 的 grep 匹配文件中的内容 test my file

问题 2:

ssh $host "grep "test1 test2" /home/bob -R"

grep: test2: 没有这样的文件或目录

我的问题是为什么 grep 将“test1 test2”中的第二部分视为文件名?

附言

当我使用反斜杠转义问题 2 中的引号时,命令的输出似乎是正确的。

ssh $host "grep \"test1 test2\" /home/bob -R"

【问题讨论】:

    标签: bash shell ssh grep


    【解决方案1】:

    ssh $host "grep "test1 test2" /home/bob -R"

    grep: test2: 没有这样的文件或目录

    您收到此错误,因为 shell 对 " 的结束位置感到困惑。由于grep 假设test1 为模式,test2 为文件。然后它试图找到一个不存在的文件test2。你必须像这样使用:

    ssh $host 'grep "test1 test2" /home/bob -R'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 2014-12-11
      • 2016-01-27
      • 2015-01-28
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      相关资源
      最近更新 更多