多个sed命令没有创建单独的脚本,也没有使用-e

时间:2015-01-16 20:25:33

标签: shell sed scripting

我使用sh来编写脚本,我想替换文件的一部分。我使用的是sed,因为替换很简单。

现在我注意到sh,我无法将sed命令包装在多行上,就像我在脚本中所做的那样。所以我使用sed -e选项,并在每行的末尾使用\。

是否有更有效的方法来编写一系列sed命令,必须在文件上执行,并将输出保存到另一个?

或者唯一的选择是编写脚本并使用-f标志调用它,或使用-c标志和\?

创建多行

1 个答案:

答案 0 :(得分:2)

使用单引号括起sed命令:

sed '
    s/this/that/
    s/foo/bar/
    # and so on
' file

要处理变量,您需要跳出单引号:

sed '
    s/this/'"$variable"'/
    s/foo/bar/
    # and so on
' file