Linux中sed命令简介 (linux sed -s)
整理分享Linux中sed命令简介 (linux sed -s),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:linux sed命令详解,linux sed -i命令,linux中sed命令用法,sed linux命令,linux中sed命令用法,linux sed -s,linux中sed命令用法,linux sed -s,内容如对您有帮助,希望把内容链接给更多的朋友!
以下通过一些例子来演示sed命令的常用方式:还记得emp.fmt文件吗?该文件中字段的分隔符是空格。这就存在一个问题,如果某一个字段的字符串本身就包括了空格,就会造成混淆。为此,我们可以运用sed命令将所有的空格都转换成分号(;)。sed命令中的-e选项的e应该是expression(表达式)的首字母,而表达式's//;/'表示在由管道送来的每行数据中搜寻空格之后用分号取代:root@promote:~/backup#catemp.fmt|sed-e's//;/';SMITHCLERK-DEC-;ALLENSALESMAN-DEC- 我们发现sed命令只替代了每行数据中的第一个空格,因为sed命令默认只搜索并替代所发现的第一个与搜索模式相匹配的字符(串)。为了替代每一行中的所有空格,需要运用g标志:root@promote:~/backup#catemp.fmt|sed-e's//;/g';SMITH;CLERK;;-DEC-;ALLEN;SALESMAN;;-DEC- 其实,即使不运用管道线,也可以获得相同的效果,而且看上去更简单些:root@promote:~/backup#sed-e's//;/g'emp.fmt;SMITH;CLERK;;-DEC-;ALLEN;SALESMAN;;-DEC- 虽然看上去简单些,但是有不少UNIX或Linx的大虾们还是偏爱运用管道*作,可能的原因是“看上去非常专业”,因为没有UNIX或Linux背景的用户看上去有点晕。 注意:以上的任何命令都不改变源文件(emp.fmt)中的任何信息。如果要保存经过sed命令替代后的数据,利用输出重定向再生成一个文件就行了。