首页 > 解决方案 > grep:管道进入 grep -r 无法正常工作

问题描述

我的 grep 命令别名为 'grep -r' ,在新的 grep 版本中,它给我带来了以下问题:当管道一个 grep 到另一个时,第二个 grep 不会从第一个的结果中搜索我想要的,因为它应该,但它会像新的 grep 一样搜索整个文件夹。例如:

grep -r "something" folder | grep -r "something2"

第二个 grep 在整个文件夹中执行搜索,而不是仅搜索第一个 grep 的输出。发生这种情况是因为 -r 标志,没有它一切都很好。假设我不想从我的 grep 别名中删除这个 -r 标志,有什么解决方案吗?

标签: greppipetcsh

解决方案


对不起,但第二个grep -r没有意义:

grep -r递归表示grep,所以不要只看当前文件夹,还要看sub-、subsub-和更深的文件夹。

对于第一个grep -r,我可以与此相关:在文件夹和所有子文件夹中查找“某物”,但第二个:一旦您在一个特定文件中找到“某物”,我希望您验证所有子,子子-和“something2”的更深的文件夹。

在检查单个文件时如何更深入地了解目录结构?

我建议您不要在别名中添加-r开关。grep


推荐阅读