6.sed替换命令的语法

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,Raj Reddy,Sysadmin          

104,Anand Ram,Developer

105,Jane Miller,Sales Director

 

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

$ 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

 

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

相关新闻

发表回复

Please Login to Comment

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南全部更新完成,点击阅读