码迷,mamicode.com
首页 > 系统相关 > 详细

LinuxDay10——文本处理工具sed

时间:2018-04-19 21:51:14      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:day   行号   inux   文本处理工具   处理   文件的   rip   表达   color   

sedStream EDitor),行编辑器

sed [option]..‘scrip‘ inputfile

scrip ‘地址命令‘

不给地址:对全文进行处理

单地址:

  #:指定的行  $:最后一行

  /pattern/:被此模式所能匹配到的每一行

地址范围

  #,#

  #,+#

  /part/,/part2/

  #,/part1/

~:步进

  1~2奇数行

  2~2偶数行

常用选项:

 -n关闭打印内容

 -r 使用拓展正则表达式

 -e多点编辑

 -i bak:备份文件并原处编辑

 -r 支持使用扩展正则表达式

编辑命令:

  d删除空间模式的匹配的行

  p打印当前空间内容

  d 删除

  !模式匹配取反

  =模式空间行 加行号

  a[\]text:在指定行后面追加文本

    支持使用\n实现多行追加

  i[\]text:在行前面插入文本

  c[\]text:替换行为单行或多行文本

  w/path/somefile:保存模式匹配的行至指定文件

  r/path/somefile:读取指定文件的文本至模式空间中匹配到的行后

  =:为模式空间中的行打印行号

  !:模式空间中匹配行取反处理

sed工具

  s///:查找替换,支持使用其他分隔符,s@@@,s###

  替换标记:

    g:行内全局替换

    p:显示替换成功的行

    w/PATH/TOSOMEFILE:将替换成功的行保存至文件中

高级编辑命令 

  P:打印模式空间开端至\n内容,并追加到默认输出之前

  h:把模式空间中的内容覆盖到保持空间中

  H;把模式空间中的内容追加至保持空间中

  g:把保持空间中的内容覆盖到模式空间

  G:把保持空间中的内容追加至模式空间

  x把模式空间中的内容与保持空间中的内容进行互换

  n把读取匹配到的行的下一行覆盖至模式空间

  N读取匹配到的行的下一行追加至

  d删除模式空间中的行

  D:如果模式空间包含换行符,则删除直到第一个换行符的模式空间中的文本,并不会读取新的输入行,而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会像发出d命令那样启动正常的新循环

 

LinuxDay10——文本处理工具sed

标签:day   行号   inux   文本处理工具   处理   文件的   rip   表达   color   

原文地址:https://www.cnblogs.com/Gmiaomiao/p/8806062.html

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