bash - 引号之间的 sed 命令
问题描述
这是我试图运行命令的对象:
tags:
- "environment:qa4"
我正在使用以下命令:
sed -e "s,"environment:[^/,"]*/,"environment:qa1,"" test.yaml
但它切断了结束语:
tags:
- "environment:qa1
一旦我让它在命令行上工作,我将把这个命令转移给 Jenkins。我怎样才能让它选择收盘价?
谢谢!
解决方案
你的意思是
sed -e 's,"environment:[^"]*","environment:qa1",' test.yaml
请注意,外部引号已更改为单引号,因此模式和替换字符串中的双引号可以按字面意思正确解释。
推荐阅读
- sql - 在对两个不同的列求和时将 SQL 中的列设置为结果列
- laravel - SQLSTATE [42S02]:未找到基表或视图:1146 表 'products.all_category' 不存在(SQL:从 `all_countries` 中选择 *)
- html - 标志未满,背景图片
- javascript - 防止 401 XHR 错误出现在客户端控制台中
- asp.net - 如何在 Web 应用程序的页面上引用被覆盖的服务器控件
- json - 如何将数据从节点 js 存储到 JSON 文件?
- sql-server - 在 SQL Server 中展开表的日期
- javascript - 错误:未知提供者:AuditServiceProvider <- AuditService
- c# - C#反射,调用不同参数类型的方法
- mysql - Percona 查询指纹 - 为什么选择列中的顺序很重要?