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

如何筛选出包含多个.tf格式文件的目录?

查找包含多个.tf文件的目录

针对你的目录结构,要筛选出包含多个.tf文件且排除.terraform目录的目标路径,可以用以下两种命令实现:

方法一:结合find、awk和uniq统计

find . -type f -name "*.tf" | grep -v "^./\.terraform" | awk -F/ '{print substr($0, 1, length($0)-length($NF))}' | sort | uniq -c | awk '$1 > 1 {print substr($2, 2)}'

各部分作用:

  • find . -type f -name "*.tf":递归查找所有.tf格式的文件
  • grep -v "^./\.terraform":排除.terraform目录下的文件(避免干扰结果)
  • awk ...:提取每个文件所在的目录路径(去掉文件名部分)
  • sort | uniq -c:对目录排序,统计每个目录下.tf文件的数量
  • 最后一段awk:筛选出文件数量大于1的目录,同时去掉路径开头的./,输出干净的结果

方法二:目录级直接统计

find . -type d -not -path "./.terraform*" -exec sh -c 'count=$(find "$0" -maxdepth 1 -type f -name "*.tf" | wc -l); if [ $count -gt 1 ]; then echo "$0"; fi' {} \;

各部分作用:

  • find . -type d -not -path "./.terraform*":遍历所有目录,排除.terraform及其子目录
  • -exec sh -c '...' {} \;:对每个目录执行统计逻辑
  • count=$(...):统计当前目录下(仅当前层级,不递归)的.tf文件数量
  • 条件判断:当数量大于1时,输出该目录路径

以上两种命令都会输出你预期的结果:terraform/module

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:10:12