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

sed命令

时间:2015-12-25 06:34:44      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:expression   编辑器   三剑客   空间   表达式   

sed命令是文本处理三剑客至流编辑器,或者说是行编辑器。

sed的用法如下:

结构:

sed   [OPTION]...  {script-only-if-no-other-script}  [input - file]...

 地址界定编辑命令

常用选项:

-n:不输出模式空间中的内容至屏幕

-e script,--expression=script:多点编辑

-f  /PATH/TO/SED_SCRIPT_FILE

每行一个编辑命令

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

-i[SUFFIX], --in-place[=SUFFIX]:直接 编辑原文件

地址定界:

1)不给 地址(空地址):对全文进行处理

2)单地址:

#:指定行

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

3)地址 范围

#,#:

#,+#

#,/pat1/

/pat1/,/pat2/

4)步进:~

1~2:所有奇数行

2~2:所有偶数行

编辑命令:

      d:删除

      p:显示模式空间中的内容

      a\text:在行后面追加文本“text”,支持使用\n实现多行插入

   i\text:在行前面插入文本“text”,支持使用\n实现多行插入

      c\text:把匹配到的行替换过为此处指定的文本“text

     w /PATH/TO/SOMEFILE:保存模式空间匹配到的行至指定的文件中

      r  /PATH/FROM/SOMEFILE:读取指定文件内容至当前文件被模式匹配到行后面;文件合并

    =:为模式匹配到的行打印行号:

   !: 条件取反(用法:地址定界!编辑 命令)

 s///:查找替换,其分割符可自行指定,常用的有S@@@,s###

    替换标记:

     g:全局替换

      w /path/to/somefile:将替换成功的结果保存至指定文件中;

     p:显示替换成功的行;

------------------------------------------------------------------------------------------------------------------------------------------------

高级编辑命令:

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

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

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

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

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

    n:读取匹配到的行的下一行至模式空间中,(覆盖)

   N:读取匹配到的行的下一行至模式空间中;(追加)

    d:删除模式空间中的行

    D:删除多行模式空间中的所有行

 

技术分享




sed命令

标签:expression   编辑器   三剑客   空间   表达式   

原文地址:http://yzxyaow.blog.51cto.com/10744344/1728034

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