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

Linux命令:查找所有直接父目录为target的txt文件

查找指定规则文件的Linux命令实现

需求说明

待检索的全量文件列表如下:

/target/a.txt
/target/module2/target/b.txt
/target/module2/target/OtherDir/NotRequired.txt
/target/module2/target/module3/target/c.txt
/target/module2/target/module3/target/anotherDir/NotRequired.txt

匹配规则:

  • 仅匹配.txt格式的普通文件
  • 文件的直接父目录名称必须为target
  • target目录下其他非target命名的子目录内的文件,不属于匹配范围

预期匹配输出列表:

/target/a.txt
/target/module2/target/b.txt
/target/module2/target/module3/target/c.txt

实现命令

使用find命令即可精准实现需求,命令如下:

find /target -type f -name "*.txt" -exec sh -c 'basename "$(dirname "{}")" = "target"' \; -print

命令参数说明

  • find /target:指定从/target根路径开始递归遍历所有文件
  • -type f:限定只查找普通文件,过滤目录、软链接等特殊类型文件
  • -name "*.txt":筛选后缀为.txt的文件
  • -exec sh -c 'basename "$(dirname "{}")" = "target"' \;:对每一个候选文件做校验:先通过dirname获取文件的直接父目录路径,再通过basename提取父目录的名称,判断名称是否严格等于target,只有校验通过的文件才会进入后续流程
  • -print:打印所有符合全部条件的文件的完整路径

这个写法不存在路径通配符匹配的歧义问题,不管目录嵌套多少层,都能严格命中直接父目录为target的txt文件,不会误匹配其他子目录下的文件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 12:18:17