sed 文本处理工具介绍

sed简介:

文本处理三剑客之一的sed

sed是一种行编辑器,它一次处理一行内容,本身是一个管道命令,对行的数据进行 替换 增加 删除 选取的工作

sed的命令为:sed[opition] ‘script’ inputfile…

                                     ‘地址命令’

常用的选项:

         -n 不输出模式空间内容到屏幕

         -e 多点编辑

         -r 支持使用扩展正则表达式

         -i.bak 备份文件并原处编辑

常用命令:
        a ∶ 新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
        c ∶ 取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
        d ∶ 删除,因为是删除,所以 d 后面通常不接任何内容
         i ∶ 插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
         p∶ 列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起用
         s∶ 取代,可以直接进行替换的工作。通常这个 s 的动作可以搭配正则表达式。

地址定界:

        1.(1)  不给地址:对全文进行处理
           (2)  单地址:
              #:  指定的行
              /pattern/ :被此处模式所能够匹配到的每一行
           (3)  地址范围:
            #,#
            #,+#
          /pat1/,/pat2/
           #,/pat1/
            (4) ~ :步进
              1~2  奇数行
              2~2  偶数行
编辑命令:
         d:  删除模式空间匹配的行
         p:  显示模式空间中的内容
         a [\]text :在指定行 后面 追加文本
         支持 使用\n 实现多行追加
          i [\]text :在行前面 插入文本
            c [\]text :替换行为单行或多行文本
        w /path/somefile:  保存模式匹配的行至指定文件
         r /path/somefile :读取指定文件的文本至 模式空间中
        匹配 到的行后
        =:  为模式空间中的行打印行号
        !: 模式空间中匹配行取反处理

sed工具
      s/// :查找替换, 支持使用其它分隔符,s@@@ ,s###
      替换标记:
      g:  行内全局替换
      p:  显示替换成功的行
      w  /PATH/TO/SOMEFILE :将替换成功的 行 保存至文件中

如果没有定址,sed将对全文进行处理

举例:[本次我们有一个文件f1] 定义了五行内容

sed 文本处理工具介绍
  如:只显示第三行 sed -n ‘3p’ f1

sed 文本处理工具介绍 

 只看文件第1行和第3行之间的文件

sed 文本处理工具介绍

 删除第1行的文件

 sed 文本处理工具介绍
a与i 比较相似i是前插a是后加:

sed 文本处理工具介绍

 而且还有三个取它们它们分别代表不同的意思:

c :整行替换或文本

g:全局替换

s:可跟正则表达式

sed 文本处理工具介绍

sed 文本处理工具介绍

  其次sed工具还有些高级编辑命令:

            h:  把模式空间中的内容覆盖至保持空间中
            H :把模式空间中的内容追加至保持空间中
           g:  从保持空间取出数据覆盖至模式空间
           G :从保持空间取出内容追加至模式空间
           x:  把模式空间中的内容与保持空间中的内容进行互换
          n:  读取匹配到的行的下一行 覆盖 至模式空间
          N :读取匹配到的行的下一行 追加 至模式空间
         d:  删除模式空间中的行
         D :删除 当前模式空间开端至\n 的内容( 不再传 至标准输
         出),放弃之后的命令,但是对剩余模式空间重新执行sed 

                     sed -n ‘n;p’ FILE

sed 文本处理工具介绍

                     sed ‘1!G;h;$!d’ FI LE
                     sed ‘N;D‘ FILE
                     sed ‘$!N;$!D’ FILE
                     sed ‘$!d’ FILE
                     sed ‘G’ FILE
                     sed ‘g’ FILE
                     sed ‘/^$/d;G’ FILE
                     sed ‘n;d’ FILE
                     sed -n ‘1!G;h;$p’ FILE




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

(0)
gd1479gd1479
上一篇 2017-06-24 15:15
下一篇 2017-06-24 16:08

相关推荐

  • Btrfs文件系统的管理和应用

        Btrfs(我们称之为Butter FS或者B-tree FS)被称为新一代的linux文件系统。一直以来,EXT文件系统以其卓越的稳定性成为linux标准的文件系统。但近年来,EXT3暴露出一些扩展性的问题(如单一文件大小限制、总文件系统大小限制等),于是便催生了EXT4。但同时,Btrfs向人们展现出诸多优…

    Linux干货 2016-02-14
  • Linux基础小模块

    1.基础知识小块:shell 由shell程序的自带命令:即为内置命令(builtin) 独立的可执行程序文件、文件名 :即为外部命令  [root@localhost~]#ls      ~用户当前所在目录  #:命令提示符(管理员帐号root)  $:普通用户   &nbsp…

    Linux干货 2016-08-10
  • 第一篇博客 简单说下最近的学习心得吧

        今天是个特殊的日子, 来到马哥教育已经一周时间了,刚来的时候满环信心,感觉人生充满了希望,但是接下来的学习让我感受到了什么是绝望,刚开始的两天完全是一种朦胧的状态,不知道干什么,敲得命令也不理解,完全是生搬硬套,没有自己的认知,当时就有一种冲动想要一走了之,后来想想算了 ,然后就坚持到了现在,此时感觉当时的决定是对的,经过一周的学…

    2017-07-15
  • keepalived+nginx-upstream部署高可用反向代理

    keepalived+nginx-upstream部署高可用反向代理 实验拓扑 实验要求 两个web server提供httpd服务,ip地址分别是172.18.27.201、202,掩码是16 两个nginx proxy提供高可用反向代理,ip地址分别是172.18.27.102、200,掩码是16. client能够访问web server,使用dr模型…

    2017-05-15
  • Linux下的LVM管理命令

    一. 何为LVM?     Logical Volume Manager的缩写,它可以把多个分区、硬盘甚至RAID组合成一个存储设备来使用,并可以扩展或缩减空间。LVM有三层组成组成:底层的PV,中间的VG,上层的LV,如图所示         &n…

    Linux干货 2015-12-06
  • 马哥教育网络班25期-第2周作业

    一、Linux文件管理类命令: (1)ls             list 用来显示目录列表             …

    Linux干货 2016-12-12