OPS Notes By 枯木

2-1、Sed Substitute Command[译]

| Comments

Sed 替换命令语法

Sed替换命令语法如下:

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

在上面的sed语法中:

  • 地址范围或者模式范围是可选的,如果你没有指定任何一个,那么sed会在所有的行中执行替换命令
  • s–告诉sed执行替换命令
  • 原始字符串–这个字符串将会在输入文件中被搜索。原始字符串也可以是一个正则表达式
  • 替换字符串–Sed将会通过这个字符串替换原始字符串

:记住源文件不改变;替换是在模式空间的buffer中完成并且打印输出。

以下是几个简单的sed替代的例子

更换所有出现的Director:

1
2
3
4
5
6
$ 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

只替换行中含有关键词’Sales’行中的Manager为Director:

1
2
3
4
5
6
$ 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

:使用地址范围造成只替换了一个,而之前例子显示是替换两个

–EOF–

Comments