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

相关推荐

  • 程序包管理:rpm和yum

    rpm命令                              软件包管理 程序包管理 一、概述 (一)API:Application Program Interface  应用编程接口 ABI…

    Linux干货 2016-08-21
  • vim 的使用简介

    linux day 8 使用vi和vim的三种主要模式 移动光标,进入插入模式 改变、删除、复制文本 撤销改变 搜索文档 vim寄存器 可视化和多窗口 vim帮助 vi: Visual Interface,文本编辑器 文本:ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器:nano, vi vim-Vi Improved 其他编辑…

    Linux干货 2016-08-15
  • 系统管理之Selinux详解

    SELinux: SELinux概念SELinux配置启用SELinux管理文件安全标签管理端口标签管理SELinux布尔值开关管理日志查看SELinux帮助 SELinux概述 SELinux: Secure Enhanced Linux, 是美国国家安全局「NSA=The National Se…

    Linux干货 2016-09-21
  • 第十一周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。   发送者:     1)使用单向加密算法提取要发送文件的特征码;     2)使用自己的私钥加密特征码并附加在数据后面;     3)生成用于对称加密的临时密码;     4)用此临时密钥加密数据和已经使用私钥加密后的特…

    2017-05-08
  • Linux中软链接和硬链接的区别

    Linux中软链接和硬链接的区别 链接文件:   Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。 Inode 文件除了纯数据本身之外,还必须包含有对这些纯数据的管理信息 文件名; 访问权限; 文件的属主以; 该文件的数据所对应的磁盘数据块; 文件的时间戳; …

    Linux干货 2016-10-20
  • Linux运维之路基础学习四

    当文件的权限不能满足某个用户时,ACL是一个好办法

    Linux干货 2017-12-03