regex - 如何从空白开始“grep -E”直到遇到特定文本?
问题描述
我正在尝试从 terraform 命令中隔离特定的行输出。这是我的初始输出:
> terraform state show module.my_module.aws_cloudfront_distribution.cloudfront_resource | grep -E "id"
hosted_zone_id = "..."
id = "..."
in_progress_validation_batches = 0
target_origin_id = "..."
origin_id = "..."
我想归零就行了 id = "..."
。所以我想使用 grep 正则表达式“以空格开头,然后 id”作为我的测试。我尝试了以下但无济于事:
... | grep -E "^\s*id"
... | grep -E "^[:blank:]*id"
正确的方法是什么?
解决方案
我需要添加“-no-color”标志以防止 terraform 添加颜色代码(在终端中未明确显示)。
terraform state show -no-color module.my_module.aws_cloudfront_distribution.cloudfront_resource | grep -E "^[[:blank:]]id"
推荐阅读
- google-tag-manager - 如何通过 GTM 修复 AMP 分析跟踪
- jenkins - Jenkins 报告代理上有多个繁忙的 gradle 守护进程,但代理上的 gradle 报告根本没有守护进程正在运行
- css - 如何使用 CSS 自行旋转 SVG 的一部分?
- ms-access - 将文本文件导入访问表 - 文件包含对另一个表条目的引用
- c# - 是否可以在 SharePoint 的 SPSiteDataQuery 中添加日期筛选器?
- javascript - jquery单击不同的div并更改颜色并重置其他div颜色
- latex - 使用命令行参数包含/排除文本部分
- angular - 在运行 Ionic 应用程序的客户端 PC 上加载块“XY”失败
- opencv - 如何从背景中分割法兰?
- vue.js - 在 vue cli 3 中激活“vue-style-loader”的源映射