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

linux中行编辑器sed的基本用法

时间:2017-11-11 16:01:21      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:sed的基本用法

linux中行编辑器sed的基本用法

sed的处理方法

默认逐行读取文件到内存中---->把符合模式的行读取到属于sed的内存中(sed的模式空间)进行编辑---->将处理后模式空间的内容显示到屏幕上

sed:行编辑器,默认不编辑源文件,仅对模式空间中的数据进行处理显示

使用方法

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

sed [OPTION]..‘LinesRangeCommand‘ file...

[OPTION]..

    -n:静默模式,不再默认显示模式空间中的内容

    -i:直接修改源文件

    -e ‘LinesRangeCommand‘ -e ‘LinesRangeCommand‘:同时执行多个操作

    -f:指定存放多个sed命令的脚本文件使得同时执行多个操作

    -r:表示使用扩展正则表达式,默认仅使用正则表达式


LinesRange:表示范围,即哪些行

  用法1:StartLine,EndLine  比如 1,100 从第1行到第100行

  用法2:/PATTERN/  比如 /^redhat/ 从以redhat开头的行开始的所有行

  用法3:/PATTERN1/,/PATTERN2/ 第一次被PATTERN1匹配到的行开始,

                              到第一次被PATTERN匹配到的行结束

  Line:指定的行

  StartLine,+N  从StartLine开始向后的N行


Command:表示命令

   d:删除符合条件的行

     sed ‘2,$d‘ /etc/passwd

   p:显示符合条件的行

     sed ‘/home/p‘ /etc/passwd

   a \string: 在指定的行后面追加新行,内容为string

     sed ‘/^root/a \i am root‘ /etc/passwd

   i \string:在指定的行前面添加新行,内容为string

     sed ‘/^root/i \i am root‘ /etc/passwd

   r File:将FILE1文件的全部内容添加到FILE2符合条件的行之后,

          用于合并文件

     sed ‘2r FILE1‘ FILE2

   w FILE:将FILE2文件中符合条件的行另存至FILE1文件中

     sed ‘2w FILE1‘ FILE2

   s/pattern/string/:查找并替换,

                    默认只替换每行中第一个被匹配到的字符串  

                    g:全局替换 s/pattern/string/g

                    i:忽略字符大小写s/pattern/string/i

     sed ‘1,2s/oot/OOT/‘ /etc/fstab

    后向引用 \(string\),\1,\2

            sed ‘s#\(l..e\)#\1r#g‘ test.txt

    &:模式匹配 如 sed ‘s/l..e/&r/g‘ test.txt

                  将前面模式匹配到的字符串后面加

    


本文出自 “术业有专攻” 博客,请务必保留此出处http://fuvip.blog.51cto.com/9276123/1980853

linux中行编辑器sed的基本用法

标签:sed的基本用法

原文地址:http://fuvip.blog.51cto.com/9276123/1980853

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