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

相关推荐

  • shell脚本基础

    shell脚本基础 变量 bash的变量:  环境变量  本地变量  位置变量  特殊变量 本地变量:bash:作用域为整个bash进程 局部变量:作用域为当前代码段 local VARNAME=VALUE 引用变量:${VARNAME} 环境变量:作用域为当前的shell进程及其子进程 export VARNAME=…

    Linux干货 2017-04-16
  • Week 1 计算机组成

    I. 引 Introduction     在学习计算机技术之前,了解计算机的组成是非常必要的。这不仅可以让你对硬件有一个大概的了解,而且会让你将来对基于硬件运行的软件有一个更为透彻的理解。只有理解了计算机是如何协调它的部件来工作的才方能理解人们为何这样设计操作系统和程序。 I. 计算机部件 The Essential…

    Linux干货 2016-06-11
  • 马哥教育网络班22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  ~]# who |sort -nu root     pts/0        2016-08-…

    Linux干货 2016-08-29
  • linux基础命令: tr

    基础命令:  tr   tr命令 功能:删除和转换字符 语法:tr  [OPTION]…. SET1  [SET2] 参数: -d : 删除所有属于第一字符集的字符(删除某些特殊字符) -s : 把连续重复的字符以单独一个字符表示(删除空行很有用) 举例: 1.把小写字母转换为大写字母; cat &nbsp…

    Linux干货 2016-08-03
  • 软件管理

    ldd   /path/to/binary_file       查看二进制所依赖的库文件 ldconfig  -p  查看已缓存的库文件名和文件路径 配置文件 :/etc/ld.so.conf,   /etc/ld.so.conf.d/*.conf 缓存文件:/etc/ld.so.cac…

    Linux干货 2017-06-11
  • sed使用详解

    vim  ,sed 1.首先,sed作为一个流编译器,它是对文本进行处理的,它和grep虽然都是对文本进行处理的,但是sed的处理机制和grep还是有很大的不同的,grep:文本过滤(模式:pattern)工具;grep, egrep, fgrep(不支持正则表达式搜索)sed:stream editor,文本编辑工具;awk:Linux上的实现g…

    Linux干货 2016-08-11