在sed命令中使用变量

时间:2013-09-19 08:53:59

标签: linux bash

我正在尝试在sed命令找到的行的末尾添加一些文本(路径):

var="/folder1/folder2/folder3"

sed -i "/Begins with this text/s/$/$var/" filename

我知道在sed命令中使用变量需要双引号但是如果我使用上面的命令它会给我一条错误信息:

expresssion #1, character 23: unknown option to `s

我做错了什么?

1 个答案:

答案 0 :(得分:6)

将substitute命令中的分隔符更改为$var中不会出现的分隔符,例如

sed -i "/Begins with this text/s|$|$var|" filename

或转义$var中的斜杠:

var="\/folder1\/folder2\/folder3"