• 本页内容

30. 更改行(c 命令)


sed 更改命令 (c) 允许您用新文本替换现有行。

语法:

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

删除第 2 行的记录并用新记录替换它:

$ sed '2 c 202,Jack Johnson,Engineer' employee.txt
101,John Doe,CEO
202,Jack Johnson,Engineer
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Manager

您还可以用多行替换单行。

删除与 "Raj" 匹配的行并将其替换为两个新行:

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