正则表达式 - 在第一次匹配后追加文件内容

regex - append file contents after first match

假设我有以下几种文件:

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)。

使用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
awk 'NR==FNR{buf = buf [=10=] RS;next} {print} /c c c/ && !done{ printf "%s", buf; done=1  }' file2.txt file1.txt