结合多个SED印象

时间:2019-04-26 08:14:34

标签: bash text sed

我正在使用通过管道传递的这两个sed表达式

sed -e "1 i\MODEL" file.txt | sed -e 's/END/ENDMDL/g' > output.txt

到1)在text.txt的第一行添加“ MODEL”,然后在同一文件中用ENDDMDL代替END。

怎么可能通过一个SED命令(从而避免管道)来同时执行这两项操作而不生成新文件而是替换现有文件? 最后,我想知道如何在文件的最后一行添加内容?

1 个答案:

答案 0 :(得分:2)

您可以通过使用-e <command>选项的多次出现或将它们与;结合在一起来指定多个命令:

sed -e "1 i\MODEL" -e 's/END/ENDMDL/g' file.txt
sed -e '1 i\MODEL;s/END/ENDMDL/g' file.txt

您可以使用$指定结束行:

sed -e "$ i\ENDMODEL" file.txt