说我有以下几种文件:
file1.txt
:
a a c
b b c
c c c
d d c
e e c
a a c
b b c
c c c
d d c
e e c
file2.txt
:
—————
—————
—————
如何从file2.txt
获取内容,以便我最终得到file1.txt
:
a a c
b b c
c c c
—————
—————
—————
d d c
e e c
a a c
b b c
c c c
d d c
e e c
...不仅仅是在第3行(c c c
的第一行)之后添加内容。
答案 0 :(得分:3)
使用GNU sed
(该命令需要分布在多行中):
sed '0,/c c c/ {
/c c c/r file2.txt
}' file1.txt
a a c
b b c
c c c
—————
—————
—————
d d c
e e c
a a c
b b c
c c c
d d c
e e c
答案 1 :(得分:3)
awk 'NR==FNR{buf = buf $0 RS;next} {print} /c c c/ && !done{ printf "%s", buf; done=1 }' file2.txt file1.txt