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

Linux下处理Terraform Providers输出:去除树形结构并提取唯一行

处理Terraform Providers树形输出提取唯一带版本条目

这里有几个实用的命令行组合,能快速帮你把terraform providers的树形输出转化为你需要的唯一带版本provider列表:

方法一:简洁匹配去重

直接用grep匹配带版本号的provider行,再通过sort -u去重:

terraform providers | grep -E 'provider\[.+\] [0-9]+\.[0-9]+\.[0-9]+' | sort -u

原理说明:

  • grep -E 启用正则匹配,精准抓取包含provider[xxx]格式且后跟三段式版本号的行
  • sort -u 自动去除重复的行,只保留唯一条目

方法二:先清理树形符号再过滤

如果你想先彻底去掉所有树形结构的前缀符号,再提取目标行,可以用sed+grep+sort的组合:

terraform providers | sed -E '/^(├─|└─|│)/!d; s/^[├└│─ ]+//' | grep -E ' [0-9]+\.[0-9]+\.[0-9]+$' | sort -u

原理说明:

  1. sed -E '/^(├─|└─|│)/!d:只保留以树形符号开头的行,过滤掉底部的Providers required by state:这类无关内容
  2. s/^[├└│─ ]+//:删掉行首所有的树形符号和空格,只保留provider本身的内容
  3. 后续的grep和sort -u和方法一作用一致,过滤带版本的行并去重

两种方法最终都会输出你需要的结果:

provider[xxx.com/edu/xxxvenafi] 1.2.0
provider[xxx.com/edu/xxxsmaas] 1.0.1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 14:52:33