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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中行编辑器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的基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Linux三剑客之sed的基本用法介绍

sed的基本用法和高级用法

sed的基本用法

sed基本用法

sed命令基本用法

sed命令用法