我只是想知道在文件中添加多行的最佳方法是什么。即我想替换文件中的标签,即/ #tag
有多行,比如说3
echo "line 1"
echo "line 2"
echo "line 3"
我知道我可以读取文件的每一行,如果我遇到标记可能会将新行传递给文件,但是,由于文件的大小,这会花费太长时间。
我相信一定有更好的方法吗?
答案 0 :(得分:3)
只需使用sed
:
sed -i 's:/#tag:line 1\nline 2\nline 3:' file
s
命令只是'替代',通常分隔符为/
,但由于这在标记中,我们可以使用:
代替。如果您之前从未使用过sed
,请参阅http://www.grymoire.com/unix/sed.html。 /#tag
可以是正则表达式,就像grep
一样。