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
下一篇 2016-08-10

相关推荐

  • Ansible初识

    Ansible概念 ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。说…

    2017-07-08
  • Linux基础知识之WMware Tools的安装

    该博文以CentOS6.8_x86_64系统为基础,tty终端登录CentOS6.8系统,以root身份登录系统。 为什么要安装WMware Tools?                    VMware Tools是VMware虚拟机中自带的一种增强工具,…

    Linux干货 2016-07-29
  • MySQL or MariaDB 简介

    DBMS:数据库管理系统 RDBMS:关系型数据库管理系统    总之:他们都是一个数据管理程序;大多都是CS架构,都有专门的通信协议进行数据交换 关系模型:               表(行或者列):二维关系 设计范式:       &…

    Linux干货 2017-01-12
  • 练习-vim的使用

    vi编辑器是linux上最常用的编辑器,vim是vi增强版, 一、vim的几种模式     编辑模式、插入模式、命令行模式     编辑模式:可以进行光标移动,字符删除,行的增删复制粘贴等操作  插入模式:对字符进行编辑,  命令行模式:通过各种命令进行保存,查找,替换,环境设置等操作 &…

    Linux干货 2016-07-04
  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • 初窥门径之脚本书写

    一、几个脚本的编写: 1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 #!/bin/bash echo "HOSTNAME: $HOSTNAME" echo "IPV4 A…

    Linux干货 2016-08-15