6. sed 替换命令语法


sed '[address-range|pattern-range] s/originalstring/replacement-string/[substitute-flags]' inputfile

在上面的 sed 替换命令语法中:

  • address-range|pattern-range - 地址范围或模式范围是可选的,如果您不指定,sed 将在所有行上执行替换命令。
  • s – 告诉 Sed 执行替换命令
  • original-string – 这是要在输入文件中搜索的字符串。 原始字符串也可以是正则表达式。
  • replacement-string – Sed 将用该字符串替换original-string
  • substitute-flags – 替换标志是可选的。 下一节将详细介绍这一点。
注意:请记住,原始文件没有改变; 替换发生在模式空间缓冲区中,然后打印到标准输出。

以下是几个简单的替换示例。

$ sed 's/Manager/Director/' employee.txt
101,John Doe,CEO
102,Jason Smith,IT Director
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Director
$ sed '/Sales/s/Manager/Director/' employee.txt
101,John Doe,CEO
102,Jason Smith,IT Manager
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Director
注意:地址范围的使用仅导致一次更改,而不是上一节中显示的两次。