多个 sed 命令,无需创建单独的脚本,也无需使用 -e
Multiple sed commands without create a separate script, and without use -e
我正在使用 sh 编写脚本,我想替换文件的一部分。我正在使用 sed,因为它很容易进行替换。
现在我注意到,使用 sh 时,我无法将 sed 命令包装在多行中,就像我在脚本中所做的那样。所以我使用了 sed -e 选项,并在每行末尾添加了一个 \。
是否有更有效的方法来编写一系列必须在文件上执行的 sed 命令,并将输出保存到另一个文件?
或者唯一的选择是编写脚本并使用 -f 标志调用它,或者使用 -c 标志和 \?
制作多行
使用单引号将 sed 命令括起来:
sed '
s/this/that/
s/foo/bar/
# and so on
' file
处理变量需要跳出单引号:
sed '
s/this/'"$variable"'/
s/foo/bar/
# and so on
' file
我正在使用 sh 编写脚本,我想替换文件的一部分。我正在使用 sed,因为它很容易进行替换。
现在我注意到,使用 sh 时,我无法将 sed 命令包装在多行中,就像我在脚本中所做的那样。所以我使用了 sed -e 选项,并在每行末尾添加了一个 \。
是否有更有效的方法来编写一系列必须在文件上执行的 sed 命令,并将输出保存到另一个文件?
或者唯一的选择是编写脚本并使用 -f 标志调用它,或者使用 -c 标志和 \?
制作多行使用单引号将 sed 命令括起来:
sed '
s/this/that/
s/foo/bar/
# and so on
' file
处理变量需要跳出单引号:
sed '
s/this/'"$variable"'/
s/foo/bar/
# and so on
' file