• 本页内容

29. 在前面插入行(i 命令)


sed insert 命令 (i) 的工作方式与追加命令类似,只不过它在特定位置 之前 而不是在该位置之后插入一行。

语法:

$ sed '[address] i the-line-to-insert' input-file

mployee.txt 文件的第 2 行之前插入一条新记录:

$ sed '2 i 203,Jack Johnson,Engineer' employee.txt
101,John Doe,CEO
203,Jack Johnson,Engineer
102,Jason Smith,IT Manager
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Manager

mployee.txt 文件的最后一行之前插入一条新记录:

$ sed '$ i 108,Jack Johnson,Engineer' employee.txt
101,John Doe,CEO
102,Jason Smith,IT Manager
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
108,Jack Johnson,Engineer
105,Jane Miller,Sales Manager

您还可以使用 sed i 命令插入多行。

在与 "Jason" 匹配的行之前插入两行:

$ sed '/Jason/i\
203,Jack Johnson,Engineer\
204,Mark Smith,Sales Engineer' employee.txt
101,John Doe,CEO
203,Jack Johnson,Engineer
204,Mark Smith,Sales Engineer
102,Jason Smith,IT Manager
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Manager