我正在尝试在文件中搜索两个字符串。这是我正在使用的命令
grep -l -r ads2gas | xargs grep vp8
由于某些原因,第二个 grep 无法正常工作。我收到“没有此文件或目录”错误。
下图显示了一些内容。
a) 文件确实存在于目录中,如 ls 的输出所示 b) 运行带有 -p 参数的 xargs 命令会在执行前显示该命令。看起来不错。c) 错误 :-/ d) 复制粘贴 -p 参数提供的命令实际上有效!?
对我来说唯一有意义的事情是第二个 grep 命令没有在当前目录中运行。这可能吗?
您能帮我修复这个命令吗,或者给我提供一个更好的方法来递归搜索文件中的两个单词。
谢谢 :)
答案1
我认为您已grep
设置为始终对输出进行着色(可能通过别名,或者更糟的是,通过环境变量),并且颜色代码正在驱动第二个grep
问题。尝试:
grep --color=none ads2gas | xargs -p grep vp8
与别名相比,设置GREP_OPTIONS='--color=always'
更糟糕,因为别名通常不会影响脚本,而这也会影响脚本。我了解到艰难之路。