ubuntu17.04关于sed命令行的困扰

今天在ubuntu17.04版本的虚拟机上使用sed命令替换文本文件中的字符时,使用变量一直无法替换,经过反复测试之后才成功。把测试过程写一下备份。

第一种情况:


替换后的文件格式:


第二种情况:



替换后的文件格式:


第三种情况:


替换后的文件格式:


由此可见,第三种方法中的两种表达方式都是正确的,在ubuntu17.04版本的linux中,当需要使用sed命令替换变量时,应该使用如下方式:

sed -i s/xxx/$xxx/g filename

sed -i 's/xxx/'$xxx'/g' filename