sed:Stream Editor行编辑器  sed本身也是一个管道命令,还可以将数据进行替换、删除、新增、 选取特定行等的功能
  sed分为两个空间模式:1、模式空间  2、保留空间
    格式为: sed [选项] [参数] filename 
    选项:    
        -i    直接操作原文件并保存(慎用!!!)
        -e  多脚本 #sed -e ' 1 ; 2 ' test或者#sed -e '1' -e '2' test
        -r   使用扩展正则表达式
        -n   如果加上-n参数后,则只有经过sed特殊处理的那一行才会被列出来,一般和P一块用                                                                                                                                    命令:
        a \    在模式匹配到的行后面添加新内容
               #sed '/#/a \ this is a new line ' fstab  ---> 在#号后面添加this is a new line新增 
            删除指定行     
            sed 'ADD 1,ADDR3 COMMOND' input_file     
                  #sed '1,2d' fstab      ------> 删除fstab的第1行到2行
                  #sed '1,2!d' fstab     ------> 命令取反,意思是不删除第1行和第2行
        i \    在模式匹配到的行前面添加新内容 
               #sed '/#/i \ this is a new line ' fstab  --> 在#号前面添加this is a new line 
        r FILE    读某个文件    #sed '2r \root\test' fstab
        w FILE   将匹配到的行保存到哪个文件     #sed -n ‘/[a-z]/w ’ /etc/passwd
        s  s/PATTERN/string   第一个出现的替换
            g   全局查找替换
          sed 's/要被替换的字符串/新的字符串/g'   
         i     不分大小写
        &   引用前面的匹配    #sed 's/l..e/&r/g' test         
        n    读取下一行,覆盖    #sed -n '1n;p' test  ------->第一行被覆盖不显示
                   #sed 'n;d' test      -------> 删除偶数行
       #sed 'n;d' test     -------> 显示第一行和第3行 (假如test共有4行)
       #sed '2n;d' test     -------> 只留第二行,其它行删除
        N   读取下一行,追加   #sed -n 'N;p' test  ---->  将下一行并到同一行
           将模式空间中的内容复制到保留空间,覆盖的方式  移除原来的
          将模式空间中的内容复制到保留空间,追加的方式  和原来的共同存在
        g    将保留空间中的内容复制到模式空间,覆盖的方式
                 #sed  'g'  test      -------> 空白行
                 #sed  '3g'  test     -------> 第3行为空白行
        G   将保留空间中的内容复制到模式空间,追加的方式
                 #sed  'G'  test ---> 每行后面加空白行
                 #sed  '1!G'  test --> 除了第一行,其它的都加空白行
           跳转,略过符合模式的行
                 #sed  '3d;p'  newfile  --> 把第3行跳过
        b para;:para    跳转到哪 
               #sed '/#/d para;:para;y/ab/AB/' test -->跳转到有#号的那行并把小写ab改为大写
        sed标签最长为7个字符;声明标签式使用:label的格式,跳转时不用冒号
        y  y/字符集1/字符集2/g
        t label   测试:前面的s命令执行成功就跳转到标记位置
        x     保留空间和模式空间对调
         sed '/PATTERN/command' input_file
               #sed '/[z-a]/' fstab    -----> 删除有小写字母的那行
               sed '/PATTERN1/,/PATTERN2/command' input_file  ----> 删除匹配到那两行之间的行

转载于:https://blog.51cto.com/liumissyou/903982

有关sed命令的用法相关推荐

  1. Linux sed命令高级用法精讲

    <Linux sed用法详解>一节给大家介绍了如何用 sed 命令的基本功能处理文本中的数据,所涵盖的知识点,可以满足日常大多数文本编辑需求.本节将介绍 sed 提供的一些高级功能,这些功 ...

  2. linux之sed命令的用法

    2019独角兽企业重金招聘Python工程师标准>>> sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作 ...

  3. linux教程 sed命令的用法,Linux基础教程之文件三剑客sed命令用法详解

    sed是一种流编辑器,它是文本处理中非常强大的工具,能够完美的配合正则表达式使用,用法简单实用,非常灵活. 工作原理:sed命令处理文本时,把当前处理的行存储在一个临时缓冲区中,称为"模式空 ...

  4. Linux文本处理sed命令高级用法

    sed 工作原理 sed 即 Stream EDitor,和 vi 不同,sed是基于行的文本编辑器 Sed是从文件或管道中读取一行,处理一行,输出一行:再读取一行,再处理一行,再输出一行,直到最后一 ...

  5. Linux下Sed命令的用法(之替换)

    Linux 操作系统最大的一个好处是它带有各种各样的实用工具.存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具.可以简化关键情况下操作的一个实用 工具是 sed.它是任何管理员的工具包中最 ...

  6. linux教程 sed命令的用法,Linux文本处理三剑客——sed命令使用教程

    SED是一种流编辑器工具,可以根据设置的匹配条件对文件内容进行处理,支持正则表达式.sed每次处理一行数据,和awk处理流程是一样的. sed命令格式: sed [options] '/pattern ...

  7. Linux sed命令的用法介绍

    1. sed命令简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕. ...

  8. shell中sed命令的用法

    sed (stream editor)流编辑器也是linux中的一条命令,在shell中经常需要用到的非交互式修改文件内容的命令.sed处理文本是按行处理,也就是读一行处理一行. sed的命令基本格式 ...

  9. linux sed命令的用法

    sed基本用法: sed: Stream EDitor 行编辑器 (全屏编辑器: vi)   sed: 模式空间 默认不编辑原文件,仅对模式空间中的数据做处理:而后,处理结束后,将模式空间打印至屏幕: ...

最新文章

  1. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java
  2. 【Python】判断字符串 str 是否为空
  3. mysql核心内幕_MySQL核心内幕
  4. leetcode 700 二叉搜索树的搜索
  5. NLP学习—14.Pointer Generator Network(指针)及代码实现
  6. 如何在Mac/苹果电脑上接收iPhone短信
  7. js调用百度地图搜索功能
  8. vs2019键盘钩子_低级键盘钩子回调函数
  9. 32位java jre_64位的jre和32位的jre
  10. 机器学习去除马赛克案例(代码)
  11. 【机器翻译machine translation】
  12. mysql创建表报错1055的原因_[Err] 1055
  13. 新手提问!求解答QAQADODB.Recordset 错误 #x27;800a0bb9#x27; 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
  14. Android底部导航栏的三种风格实现
  15. 三位一撇:处理数字12345.67——12,345.67
  16. matexs不支持鸿蒙,华为mateXs为何从兼容安卓改成基于安卓,是鸿蒙不行还是另有隐情...
  17. java面试笔记整理
  18. screen的使用方法
  19. CTF-NEFU校赛-题解
  20. 百度登陆协议分析!!!用libcurl来模拟百度登陆

热门文章

  1. 爱,除了看怎么说,还要看怎么做 !
  2. 一次基于Vue.Js的用户体验优化 (vue drag)
  3. 作用域和作用域链 —javascript面向对象高级
  4. 团队冲刺阶段一第四次站立会议
  5. Windows Phone 修改系统定义的资源颜色
  6. 十六个 HTML,CSS,jQuery,WordPress等快速启动项目样板
  7. 配置解压版本的Tomcat为Windows服务
  8. C++ 复制字符串/字符数组
  9. ttf能改成gfont吗_中国废弃轮胎,被非洲人买去做成凉鞋!15元一双,至少能穿10年...
  10. dataguard日志传输模式解析_网络运维基础 日志审计