sga*_*gel 2 bash shell-script text-processing
我有一个包含这些行的文件:
战争{ baseName = '我的应用程序' 版本 = '1.0.2' }
和一个变量,如:
variable=b123
Run Code Online (Sandbox Code Playgroud)
我想编辑将 $variable 值附加到版本号的文件,因此结果将是:
战争{ baseName = '我的应用程序' 版本 = '1.0.2_b123' }
如何用bash
脚本实现这个目标?
一个简单的会sed
做吗?
$ var=_b123
$ sed -Ee "/version/s/'(.*)'/'\1$var'/" file
war {
baseName = 'myApp'
version = '1.0.2_b123'
}
Run Code Online (Sandbox Code Playgroud)
(/version/
检查该行是否包含该字符串,如果是,我们s
用相同的字符串((...)
捕获、\1
恢复)加上变量中的文本替换单引号内的字符串。这里的引用不是问题,因为我们需要的所有内容在 double 内都是安全的-引号。)