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

问题描述

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

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修改过的file1插入到file2中与pattern相匹配的sed的第二次调用中。

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