sed '[地址范围|模式范围]' s/old/new/[替换标签]' inputfile

上面的sed替换命令语法:

地址范围或者模式范围是可选的,如果你没有指定,sed将在全文执行替换操作。

s:告诉sed执行替换操作。

old:在inputfile中查找这个字符串,old位置可以使用正则表达式。

newsed将会使用这个字符串代替old

替换标签是可选的,在下节会更多讲解。

记住源文件是不会修改的;替换操作只会替换模式空间里的值,然后输出到标准输出(stdout)。

下面是两个sed替换的例子(替换之后用黑体字标出)。

Director替换所有的Manager

$ sed's/Manager/Director/' employee.txt

101,John Doe,CEO

102,Jason Smith,IT Director

103,RajReddy,Sysadmin

104,AnandRam,Developer

105,JaneMiller,Sales Director

Director替换那些包含'Sales'行中的Manager

$ sed'/Sales/s/Manager/Director/' employee.txt

101,John Doe,CEO

102,Jason Smith,ITManager

103,RajReddy,Sysadmin

104,AnandRam,Developer

105,JaneMiller,Sales Director

注意此例使用地址范围只有一处变化而非上个例子中的两处变化。