我使用sh来编写脚本,我想替换文件的一部分。我使用的是sed,因为替换很简单。
现在我注意到sh,我无法将sed命令包装在多行上,就像我在脚本中所做的那样。所以我使用sed -e选项,并在每行的末尾使用\。
是否有更有效的方法来编写一系列sed命令,必须在文件上执行,并将输出保存到另一个?
或者唯一的选择是编写脚本并使用-f标志调用它,或使用-c标志和\?
创建多行答案 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