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