Ubuntu下如何使用sed匹配后替换指定位置内容?
解决方法
你可以用下面的sed命令精准匹配并替换目标内容:
sudo sed -i "s/'baseurl' => '[^']*'/'baseurl' => 'myvaluehere'/g" file.php
如果要通过变量${value1}传入替换值,命令调整为:
sudo sed -i "s/'baseurl' => '[^']*'/'baseurl' => '${value1}'/g" file.php
命令说明
s/匹配规则/替换内容/g:这是sed的核心替换语法,g代表全局替换(如果文件中有多行baseurl配置都会被处理)'baseurl' => '[^']*':匹配规则里,[^']*表示匹配任意数量的非单引号字符,刚好能精准选中'baseurl' => '后面的URL部分,不会误改其他内容- 替换时保留了
'baseurl' => '和结尾的单引号,只替换中间的目标值
内容的提问来源于stack exchange,提问作者hf8w34fg4wpg
相关产品推荐
相关产品推荐

