在匹配模式之前插入一个新行 - 使用 eXchange

给定文件 file.txt,其中包含以下内容:

line 1
line 2
line 3

你可以使用以下命令添加新行

sed '/line 2/{x;p;x;}' file.txt

以上命令将输出

line 1

line 2
line 3

说明:

x 命令是 eXchange。sed 有一个缓冲区,可用于存储一些行。此命令将此缓冲区与当前行交换(因此当前行将转到此缓冲区,缓冲区内容将变为当前行)。

p 命令打印当前行。