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脚本第二版

    经过各位老板的指点我修改了部分内容使其更加完善        原文链接  http://www.178linux.com/70381 /bin/bash declare -i Inet declare -i Snet [[ $1 =~ ((2[0-4][0-9]|25[0-5]|1?[0-9]?[0…

    Linux干货 2017-03-19
  • centos下nginx启动脚本和chkconfig管理

    在安装完nginx后,要用/usr/local/nginx/sbin/nginx来启动nginx,显然十分不方便。如果能像apache一样,直接通过脚本进行管理就方便多了。 vim /etc/init.d/nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27…

    Linux干货 2017-09-27
  • mysql进阶篇(三种备份方法总结:lvm, mysqldump, xtrabackup)

    二进制日志详解:     二进制日志通常作为备份的重要资源,所以再说备份之前先总结一下二进制日志的相关内容      1. 二进制日志的内容         引起mysql服务器改变的任何操…

    Linux干货 2015-12-10
  • Linux网络管理基础

    Linux网络管理基础 动态路由 Bonding Network Teaming 静态路由实验 Linux的网络管理,了解基本的网络知识是基础,除此,要掌握好ifconig命令、ip命令、nmcli命令(CentOS 7),以及涉及到网络的配置文件。 配置动态路由: 通过守护进程获取动态路由,安装quagga包,支持RIP、OSPF、BGP,通过命令vtys…

    Linux干货 2016-09-09
  • 编译安装LAMP

    编译安装LAMP (1) 系统环境:CentOS 6, 7     CentOS 6:apr, apr-util的版本为1.3.9,不适用于httpd-2.4;     CentOS 7:apr, apr-util的版本为1.4+, (2) 开发环境…

    Linux干货 2016-11-03
  • CentOS6.9系统上编译安装httpd.2.2.32

    本文所做的所有操作是在一部新安装的CentOS6.9系统上。 1.环境与配置 环境说明:VMware上安装的CentOS6.9系统,两张系统盘做成的yum源 配置:编译生成的所有的文件都存放在/usr/local/httpd22/这个目录下 2.安装GCC编译器 [root@localhost ~]# yum grouplist | grep “Develo…

    2017-04-20