文本处理sed的使用

语法:sed【option】、、、‘script’ inputfile、、、

选项:

        -n:不输出模式空间内容到屏幕,即不自动打印
        -e: 多点编辑
        -f:/PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本
        -r: 支持使用扩展正则表达式
        -i.bak: 备份文件并原处编辑

script:

         地址定界:
                      (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:读取指定文件的文本至模式空间中匹配到的行后
                      =: 为模式空间中的行打印行号
                      !:模式空间中匹配行取反处理
s///:查找替换,支持使用其它分隔符,s@@@,s###
      替换标记:
                      g: 行内全局替换
                      p: 显示替换成功的行
                      w /PATH/TO/SOMEFILE:将替换成功的行保存至文件中
高级编辑命令:
                   h: 把模式空间中的内容覆盖至保持空间中
                   H:把模式空间中的内容追加至保持空间中
                   g: 从保持空间取出数据覆盖至模式空间
                   G:从保持空间取出内容追加至模式空间
                   x: 把模式空间中的内容与保持空间中的内容进行互换
                   n: 读取匹配到的行的下一行覆盖至模式空间
                   N:读取匹配到的行的下一行追加至模式空间
                   d: 删除模式空间中的行
                   D:删除当前模式空间开端至\n的内容(不再传至标准输出),放弃之后的命令,但是对剩余模式空间重新执行sed
元字符集:

             ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。

             $ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。

             . 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。

            * 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。

            [] 匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。

            [^] 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。

            \(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers

            & 保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。

            \< 匹配单词的开始。<love 匹配包含以love开头的单词的行。

            \> 匹配单词的结束。

            x\{m\} 重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。

            x\{m,\} 重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。

            x\{m,n\} 重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。

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

(0)
忠神通忠神通
上一篇 2017-05-01
下一篇 2017-05-01

相关推荐

  • RHCS问题汇总-深圳Eric

    拓补图: 服务器用了4个网卡 两个万兆网卡做了bond连到netgear交换机,交换机端口access 30 对应IP段10.199.16.0/22,网关10.199.16.1做在netgear上 两个千兆网卡做了bond连到cisco 3750交换机,交换机端口truck 30 40 1001-1300 对应IP段10.199.16.0/22、10.176…

    Linux干货 2016-06-22
  • 第十周作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;   (1) 为硬盘新建两个主分区;并为其安装grub; #创建两个分区,/dev/sdb1为500M,/dev/sdb2为5G [root@centos6 mnt]# fdisk -l /dev/sdb…

    2017-03-12
  • Linux文件属性及如何修改文件属性

    ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性   dr-xr-x—.   7       root     root       4…

    2017-04-03
  • 8.6正则表达式grep及其他文本处理命令练习

    正则表达式grep及其他文本处理命令练习 上课练习 1 1、centos 6找出ifconfig命令结果中本机的IPv4地址 [root@qzx ~]# ifconfig|head -n 2|tail -n 1|tr -s ' [:alpha:]'&…

    Linux干货 2016-08-07
  • 关于Linux文件系统的的简单理解和认识-20160730

    关于Linux文件系统的的简单理解和认识 关于文件系统的运作,这与操作系统带的档案数据有关。例如Linux操作系统的档案权限(rwx)与文件属性(拥有者,群组,时间参数等)。文件系统通常会将这两部分的数据分别存放在不同的区块,权限与属性放置到inode中,至于实际数据则放置到date block区块中,另外,还有一个超级块区(super block)会记录整…

    Linux干货 2016-08-04
  • 第四周 N28 (用户及权限管理及BRE、ERE应用)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel /home/tuser1 # chmod -R og= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 hadoop:x:1000: 3、手动编辑/etc…

    2017-12-22