shell在文件中间添加多行

时间:2014-01-20 18:16:09

标签: string bash shell cat

我只是想知道在文件中添加多行的最佳方法是什么。即我想替换文件中的标签,即/ #tag

有多行,比如说3

echo "line 1"
echo "line 2"
echo "line 3"

我知道我可以读取文件的每一行,如果我遇到标记可能会将新行传递给文件,但是,由于文件的大小,这会花费太长时间。

我相信一定有更好的方法吗?

1 个答案:

答案 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一样。