码迷,mamicode.com
首页 > 其他好文 > 详细

sed命令

时间:2016-08-18 21:47:50      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:sed

sed是一个流编辑器,针对行进行操作;主要用来将数据进行选取、替换、删除、新增。与vim的不同在于可以直接修改输出的结果,如:du输出的内容可以直接进行修改。

格式:

sed  [选项]  ‘[动作]‘ 文件名

[选项]

  • -n  一般的命令会把所有的数据输出到屏幕,如加了此选项后,会把经过sed命令处理的行结果输出到屏幕:

  • 例如:sed ‘2p‘ 文件名   将输出所有内容,而加了sed -n ‘2p‘ 文件名之后就只有输出第二行。        

  • -e 允许多条命令同时编辑。

  • -i 直接修改原文件数据,而不是只是显示到屏幕上。

[动作]

动作: 

  a \:   追加,在当前行后添加一行或多行。添加多行时,除最后 一行

          外,每行末尾需要用“\”代表数据未完结。 

  c \:   行替换,用c后面的字符串替换原数据行,替换多行时,除最

          后一行外,每行末尾需用“\”代表数据未完结。 

  i \:   插入,在当期行前插入一行或多行。插入多行时,除最后 一行

          外,每行末尾需要用“\”代表数据未完结。 

  d:     删除,删除指定的行。 

  p:     打印,输出指定的行。 

  s:     字串替换,用一个字符串替换另外一个字符串。格式为“行范

          围s/旧字串/新字串/g”(和vim中的替换格式类似)

==================================================================

[root@localhost ~]#sed ‘2,4d‘ 文件名  删除 -------注意是单引号 

[root@localhost ~]#sed ‘2a hello‘ 文件名  在第二行后追加hello(注意:并未修改原文件)

[root@localhost ~]#sed ‘2i hello \

>world‘ 文件名  在第二行前插入hello(注意:并未修改原文件)

[root@localhost ~]# sed ‘2c No such person‘student.txt  c的作用就是替换整行


字符串替换 

[root@localhost ~]# sed ‘s/旧字串/新字串/g’ 文件名  

[root@localhost ~]# sed ‘3s/74/99/g‘ student.txt  

#在第三行中,把74换成99 

[root@localhost ~]#sed -i ‘3s/74/99/g‘ student.txt  

#sed操作的数据直接写入文件 

 

[root@localhost ~]#sed -e ‘s/Liming//g;(分号)s/Gao//g‘ student.txt  

#同时把“Liming”和“Gao”替换为空 


本文出自 “白天求生存,晚上谋发展” 博客,请务必保留此出处http://perter.blog.51cto.com/1962646/1839933

sed命令

标签:sed

原文地址:http://perter.blog.51cto.com/1962646/1839933

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!