You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让grep -r命令仅在当前目录执行?

使用grep -r仅搜索当前目录的.txt文件

假设你现在在/home/folder1目录下,想要用grep -r命令只在当前目录的.txt文件里查找字符串"xxx",可以用以下几种方式填充命令的空缺部分:

方式1:直接匹配当前目录的.txt文件

最简单的方式是用shell通配符指定当前目录下所有.txt文件:

grep -r "xxx" *.txt

这里的*.txt会被系统解析为当前目录下所有后缀为.txt的文件集合,grep -r会搜索这些指定的文件,不会递归进入子目录(因为你没有把目录作为搜索目标)。

方式2:限定目录+文件类型+递归深度

如果你想明确指定搜索当前目录,同时严格限定只找.txt文件且不递归子目录,可以用GNU grep支持的--depth=0参数配合--include过滤:

grep -r "xxx" --include="*.txt" . --depth=0

各参数作用:

  • --include="*.txt":只处理后缀为.txt的文件
  • .:指定搜索的起始目录为当前目录
  • --depth=0:禁止递归进入子目录,仅搜索当前层级

小补充

如果你的grep版本不支持--depth参数,其实可以不用-r,直接用基础命令也能达到同样效果:

grep "xxx" *.txt

不过既然你明确要求使用grep -r,前面两种方式更贴合你的需求。

内容的提问来源于stack exchange,提问作者user798040

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:28:25