从文本文件添加多行后插入 4 个空格

insert 4 spaces after adding multiple lines from a text file

我想在匹配模式后添加多行。所以来自

Pattern:
bla

Pattern:
    line1-from-file1
    line2-from-file1
bla

我 运行 像这样 sed '/Pattern/r file1' file2 但它给了:

Pattern:
line1-from-file1
line2-from-file1
bla

这可能适合您 (GNU sed):

sed 's/^/    /' file1 | sed '/pattern/r /dev/stdin' file2

将 sed 修改后的文件 1 通过管道传输到与文件 2 中的 pattern 匹配的第二次 sed 调用中。

改进后的文件 1 显示为 /dev/stdin 并通过 r 命令添加到第二个 sed。