示例场景如下:
shell中获取某一bin的路径(如ctags),并将其写入到某一配置文件(如.vimrc)中。
首先
ctags_bin=`which ctags`
获取bin的路径,然后插入到配置文件的某一行
sed -i '' 's#let Tlist_Ctags_Cmd.*#let Tlist_Ctags_Cmd = '"\'${ctags_bin}\'"'#g' ~/.vimrc
这里面注意如下:
其一
sed默认替换语法为: 将aaa替换为bbb
sed -i "s/aaa/bbb/g"
但是由于路径中的/
和sed原本的分隔符重复,所以替换为#
其二
mac下运行时,需要在sed -i
后面加一个''
其三
引入变量时,如${ctags_bin}
需要使用双引号,也就是普通语句用''
,变量两边用""
,如果写入结果时变量两边需要有单引号,则记得加转义符:
"\'${ctags_bin}\'"
其四
为了替换某一整行,所以在aaa
的位置使用正则.*
来匹配某一行剩下的内容