sed用法预习总结

SED用法
sed:Stream EDitor
    行编辑器

sed:模式空间
     默认不编辑原文件,仅对模式空间的数据做处理,将处理后的结果输出至屏幕

sed [options] 'AdressCommand' file…

    OPTIONS
       -n:静默模式,不再默认显示模式空间中的内容
       -i:直接修改原文件
       -e SCRIPT -e SCRIPT…:可以同时执行多个脚本
       -f /PATH/TO/SED_SCRIPT:指定脚本文件
       -r:使用扩展正则表达式

   Adress:
     1、Startline,Endline
        1,100
        $:最后一行
        $-1:倒数第二行
     2、/RegExp/
        /^root/
     3、/pattern1/,/pattern2/
        第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,之间的所有行
     4、LineNumber
        指定的行
     5、StartLine,+N
        从指定行开始,向后的N行

    Command:
      d:删除符合条件的行
         eg:sed '1,$-2d' /etc/fstab
             sed '/oot/d' /etc/fstab
             sed '1,$-2d' /etc/fstab
             sed '1d' /etc/fstab
             sed '1,+2d' /etc/fstab

      p:显示符合条件的行
         eg:sed -n '/^\//p' /etc/fstab

      a \string:在指定的行后面追加新行,内容为“string”
         eg:sed '/^\//a \hello body' /etc/fstab
             sed '/^\//a \hello body\nhello baby' /etc/fsbat

      i \string:在指定的行前面追加新行,内容为“string”
         eg:sed '/^\//i \hello body' /etc/fstab
             sed '/^\//i \hello body\nhello baby' /etc/fsbat

      r FILE:将指定的文件内容添加至符合条件的行后
         eg:sed '2r file' /etc/fstab
             sed '1,2r file' /etc/fstab

      w FILE:将地址指定的范围内的行另存至指定的文件中
         eg:sed '2w file' /etc/fstab
             sed '1,2w file' /etc/fstab

      s/pattern(可用正则表达式)/string/修饰符:查找并替换
         默认替换每行中第一次被模式匹配到的字符串
         分隔符可替换:s###   s@@@
         当分隔符与查找条件相同时可将其替换,避免使用转义符

         修饰符:
         g:全局替换
         i:忽略字符大小写

原创文章,作者:Mr.Lee,如若转载,请注明出处:http://www.178linux.com/31701

(0)
Mr.LeeMr.Lee
上一篇 2016-08-10 10:27
下一篇 2016-08-10 10:28

相关推荐

  • Linux介绍

    Linux简介 Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。…

    Linux干货 2016-10-28
  • 重构-改善既有代码的设计:编写代码22宗罪(三)

    1 Duplicated  Code重复代码        不同的地方出现相同的程序结构:         如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见…

    Linux干货 2015-04-07
  • linux下正则表达式的学习

    linux 下正则表达式用法总结 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。简单的说,正则表示式就是处理字符串的方法。常用来匹配字符的元字符总结如下: Paste_Image.png 有了以上这些元字符原则上可以搜索出任务想要表达的字符,可为了更灵活使用,往往还要搭配一些次数匹配的用法 Paste_Image.png 例如:a&nbsp…

    Linux干货 2017-06-04
  • 0809行编辑器sed

    sed :Stream EDitor, 行编辑器  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或者使用-i选…

    Linux干货 2016-08-10
  • do some test

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。     三次握手:         a(syn-send) -> send syn -> b(listen)         a(syn-send) <- receive …

    Linux干货 2016-06-12
  • N21_迟来的第三周练习

    最近忙成狗,落后了许多 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d ' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last&nbsp…

    Linux干货 2016-08-02