1. sed编辑器基础

  1.1 替换标记

    命令格式:s/pattern/replacement/flags

    $ cat data4.txt
    This is a test of the test script.
    This is the second test of the test script.

    有4种可用的替换标记:

      数字,表明新文本将替换第几处模式匹配的地方;

      g,表明新文本将会替换所有匹配的文本;

      p,表明原先行的内容要打印出来;

      w file,将替换的结果写到文件中。

    在第一类替换中,可以指定sed编辑器用新文本替换第几处模式匹配的地方。
        $ sed 's/test/trial/2' data4.txt
        This is a test of the trial script.
          This is the second test of the trial script

    将替换标记指定为2的结果就是: sed编辑器只替换每行中第二次出现的匹配模式。

    g替换标记使你能替换文本中匹配模式所匹配的每处地方。
      $ sed 's/test/trial/g' data4.txt
                        This is a trial of the trial script.
                        This is the second trial of the trial script.
              p替换标记会打印与替换命令中指定的模式匹配的行。这通常会和sed的-n选项一起使用。

      $ cat data5.txt
      This is a test line.
      This is a different line.
      $
      $ sed -n 's/test/trial/p' data5.txt
      This is a trial line.

-n选项将禁止sed编辑器输出。但p替换标记会输出修改过的行。将二者配合使用的效果就是只输出被替换命令修改过的行。

     w替换标记会产生同样的输出,不过会将输出保存到指定文件中。
      $ sed 's/test/trial/w test.txt' data5.txt
      This is a trial line.
      This is a different line.
      $
      $ cat test.txt
      This is a trial line. 

  1.2 使用地址

    在sed编辑器中有两种形式的行寻址:

      以数字形式表示行区间

      以文本模式来过滤出行  

  1.3 删除行

    命令d执行删除操作。

    可以结合指定行号或是使用模式匹配

    通过特殊的文件结尾字符:
    $ sed '3,$d' data6.txt
    This is line number 1.
    This is line number 2.
    $

    sed编辑器的模式匹配特性也适用于删除命令。
    $ sed '/number 1/d' data6.txt
    This is line number 2.
    This is line number 3.
    This is line number 4.
    $

    说明 记住, sed编辑器不会修改原始文件。你删除的行只是从sed编辑器的输出中消失了。原始文件仍然包含那些“删掉的”行

  1.4 插入和附加文本

    sed编辑器允许向数据流插入和附加文本行。

    插入(insert)命令(i)会在指定行前增加一个新行;

    附加(append)命令(a)会在指定行后增加一个新行。

    命令行格式如下:

    sed '[address]command\ new line'

    例如:$ echo "Test Line 2" | sed 'i\Test Line 1'
       Test Line 1
       Test Line 2
       $

  1.5 转换命令

    转换(transform)命令(y)是唯一可以处理单个字符的sed编辑器命令。转换命令格式如下。
    [address]y/inchars/outchars/

    这里有个使用转换命令的简单例子。
    $ sed 'y/123/789/' data8.txt
    This is line number 7.
    This is line number 8.
    This is line number 9.
    This is line number 4.
    This is line number 7 again.
    This is yet another line.
    This is the last line in the file.

    

    

    

   

转载于:https://www.cnblogs.com/weidongliu/p/11002001.html

shell命令之---sed相关推荐

  1. shell命令使用sed从JSON中提取指定的值

    示例: 1.有一个example.txt文件,文件内容如下: {"err_code":200,"err_msg":"this is no error& ...

  2. [笔记]使用shell命令(awk,sed,grep)处理几个特征字符串之间的文本

    问题一:提取一行文本之中几个特征字符串之间的文本. 例:从文本 "/directory1/WantedString/directory2" 中提取"directory1/ ...

  3. 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  4. Shell:用sed命令删除特定行

    一.sed命令 Linux sed 命令是利用脚本来处理文本文件. sed 可依照脚本的指令来处理.编辑文本文件. 此处用-i参数实现 -i : 直接在文件上编辑 (edit files in pla ...

  5. 详解Shell脚本:sed命令工具 ,awk命令工具

    -----------------------------概述----------------------------------- Linux文本处理工具(以下都是命令和工具,而且只是作为展示,不能 ...

  6. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  7. Linux中常见shell命令总结

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法. 2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完 ...

  8. linux shell 宏定义_Linux系统和Shell命令行简介,走上数据分析之路

    122Linux系统和Shell命令行简介,走上数据分析之路 本节作者:刘永鑫 中国科学院遗传与发育生物学研究所 版本1.0.2,更新日期:2020年8月31日 本项目永久地址:https://git ...

  9. shell笔记之sed编辑器的基础用法(上)

    在开始写之前,先申明,本文是自己看书后,用自己的语言总结下来的笔记,如有不对之处,还请各位博友予以指正. shell脚本最常用的功能之一就是处理文本文件,我们利用编写的shell脚本可以简化重启服务器 ...

最新文章

  1. Windows下MongoDB安装及创建用户名和密码
  2. mysql 导入设置编码_从MySQL导出导入数据库的命令实例及设置会话字符编码
  3. Spring Boot 2.x基础教程:Swagger静态API文档的生成
  4. 算法积累之算法时间复杂度
  5. hdu 1757 矩阵连乘
  6. 简单七步让你轻松安全迁移网站
  7. 单例 (Singleton)设计模式
  8. win7 php zend,win7系统打开WZend Studio PHP出错的解决方法
  9. $_FILES[file]['error']
  10. Placement new的用法及用途【转】
  11. 一文解决十大排序算法(动画图解)
  12. Excel怎么区分中文英文
  13. 登陆注册页面html代码(仿知乎)
  14. 【RFID】RFID的标准体系
  15. 【LaTeX】对表格中的内容添加脚注不显示
  16. 驰骋山海间,天地亦征途——记2022云创大数据优秀员工西域狂野自驾之旅
  17. linux 系统的磁盘 mbr 转gpt方法
  18. vs2012中将图片放到resource中进行调用
  19. dgraph部署和使用
  20. 区块链技术解决投行电子底稿监管痛点 中国证券业协会在“中证链”发布首个应用

热门文章

  1. 江西计算机一级考试教程,江西省2019年下半年计算机一级考试复习教程:计算机基础及MS Office应用上机指导...
  2. Codechef January Challenge 2018 - Killjee and k-th letter
  3. centos 系统管理维护指南
  4. php导出excel时间错误(同一个时间戳,用date得到不同的时间)
  5. 通过wifi调试Android程序
  6. 笔记本电脑频繁自动重启_笔记本电脑自动重启是什么原因
  7. 树莓派外设开发基础(wiringPi库)
  8. vue插槽面试题_关于前端Vue框架的面试题,面试官可能会问到哪些。?
  9. 电脑选购:看完才明白,一体机和台式机电脑哪个好?
  10. 程序员编程必备名言佳句,提升装逼指数~