一尘不染

使用Shell脚本在指定模式后将多行插入文件

linux

我想使用shell脚本在文件中插入多行。让我们考虑一下我的输入文件内容是: input.txt:

abcd
accd
cdef
line
web

现在,我必须在 input.txt 文件中的’cdef’行之后插入四行。插入我的文件后,应更改为:

abcd
accd
cdef
line1
line2
line3
line4
line
web

上面的插入我应该使用shell脚本来做。谁能帮我?


阅读 268

收藏
2020-06-03

共1个答案

一尘不染

另外sed

sed '/cdef/r add.txt' input.txt

input.txt:

abcd
accd
cdef
line
web

add.txt:

line1
line2
line3
line4

测试:

sat:~# sed '/cdef/r add.txt' input.txt
abcd
accd
cdef
line1
line2
line3
line4
line
web

如果要应用input.txt文件中的更改。然后,-i与一起使用sed

sed -i '/cdef/r add.txt' input.txt

如果要将正则表达式用作表达式,则必须将-E标记与一起使用sed

sed -E '/RegexPattern/r add.txt' input.txt
2020-06-03