sed

1、简介

sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。 主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。

2、用法

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

3、选项

  • -n:不输出模式空间的内容到屏幕
  • -f SCRIPT_FILE:读取文件中的sed脚本来处理文本
  • -r:使用扩展的正则表达式
  • -i:直接修改原文件,-i,bak 可以先备份原文件
  • -e:sed -n -e 'script1' -e 'script2' 多点编辑,可以多个脚本一块处理文本

4、sed脚本

地址定界

  • 不指定地址默认为对全文处理
  • n:指定第n行
  • /PATTERN/:被PATTERN匹配到的每一行
  • m,n:从m到n行
  • m,+n:从m行开始往后n行
  • /PAT1/,/PAT2/:从被PAT1匹配到的行开始到被PAT2匹配到的行
  • n,/PAT/:从指定n行开始到被匹配到的行
  • ~:步进,比如1~2,从第一行开始每次跳2行,则表示奇数行

编辑命令

一.常用编辑命令

  • d:删除
  • p:打印
  • a [\]文本:将文本追加到指定行的下一新行
  • i [\]文本:将文本追加到指定行的上一新行
  • c [\]文本:将匹配到的字符串修改为文本字符串
  • w newfile:将匹配到的行另存为新文件
  • r oldfile:将文件中的内容读入模式空间并追加至被匹配到行的行后
  • =:显示行号
  • !:地址定界取反 s:查找替换s/待修改文本/修改文本/修饰符,分隔符也可用@、,、#等
    • g:全行替换
    • p:将修改后的文本打印到屏幕
    • w newfile:将替换成功的行另存为至新文件

二.高级编辑命令

  • P:打印模式空间中开端到换行
  • h:把模式空间中的内容覆盖到保存空间
  • H:把模式空间中的内容追加到保存空间
  • g:从保持空间取出数据覆盖至模式空间
  • G:从保持空间取出数据追加至模式空间
  • x:把模式空间中的数据和保持空间的数据互换
  • n:读取匹配到的行的下一行覆盖至模式空间
  • N:读取匹配到的行的下一行追加至模式空间
  • D:从模式空间的开始删除到换行的地方

记录于2018.4.12 15:08

转载于:https://www.cnblogs.com/L-dongf/p/8807864.html

文本处理三剑客之sed相关推荐

  1. 文本处理三剑客之sed(流编辑器)

    文本处理三剑客之sed(流编辑器) - 行编辑器 把当前处理的行存储在临时缓冲区,称为模式空间,然后把模式空间的内容送往屏幕,一行一行的处理,主要用来编辑一个或者多个文件. - 用法 sed [opt ...

  2. 文本处理三剑客之 sed 流编辑器(基础部分)

    文本处理三剑客之 sed 流编辑器(基础部分) SED 即 Stream EDitor.和交互式编辑器如 vi 需要打开整个文件不同,sed 是行编辑器,每次处理一行,比较适合在脚本中进行无交互编辑, ...

  3. Linux文本处理三剑客之sed

    推荐新手阅读[酷壳]或[骏马金龙]开篇的教程作为入门.骏马兄后面的文章以及官方英文文档较难. [酷壳]:https://coolshell.cn/articles/9104.html [骏马金龙-博客 ...

  4. 9、Linux文本处理三剑客之sed命令

    Linux 用于处理文本数据的三剑客,分别为 grep 命令.awk 命令和 sed 命令,再加上正则表达式,就可以处理文本文件中各种常见的数据需求了.一般来说,grep 命令倾向于查找,sed 命令 ...

  5. 第七章 Shell文本处理三剑客之sed

    本章大纲: 7.2 sed 流编辑器,过滤和替换文本. 工作原理:sed命令将当前处理的行读入模式空间进行处理,处理完把结果输出,并清空模式空间.然后再将下一行读入模式空间进行处理输出,以此类推,直到 ...

  6. Linux|文本处理三剑客之sed命令详解

    文章目录 sed命令 sed命令处理文本的过程: sed的常用选项: sed的常用编辑命令: sed的p命令示例: 引用shell变量:双引号 .花括号括变量名 &的用法 标签的用法(分组思想 ...

  7. 文本处理三剑客之sed命令详解

    sed是流编辑器,可以对文本进行逐行判断并编辑的一种非常强大的文本处理工具 工作原理: 1.读取一行到模式空间(pattern space) 2.从指定的操作指令集中取出第一个指令,判断是否匹配所要的 ...

  8. sed 插入多行_文本三剑客之sed

    文本三剑客之sed sed介绍 sed 简介 sed 流编辑器.sed的全称:Stream EDitor 简称sed 是个流编辑器,sed是一个行编辑器.首先它是个流编辑器是实现文本流编辑的,所谓行编 ...

  9. 28.文本处理三剑客grep,sed,awk

    三剑客的功能非常强大,但我们只需要掌握他们分别擅长的领域即可:grep擅长查找功能,sed擅长取行和替换,awk擅长取列. 目录 一.grep 二.sed sed选项 sed内置常用命令字符 sed匹 ...

最新文章

  1. rdlc报表显示条码 .
  2. 最小生成树(求村落之间最小修哪几条路能使耗资最小)
  3. 将HTMLCollection转换为数组的最有效方法
  4. 《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...
  5. 扩展插件_Adobe扩展工具插件系列
  6. SQL中的函数 •Aggregate 函数 •Scalar 函数
  7. 如何在 Linux 上重命名一组文件
  8. MyBatis学习总结(8)——Mybatis3.x与Spring4.x整合
  9. onlaunch 异步_微信小程序之onLaunch与onload异步问题
  10. 本人原创,如何应用firebug突破新浪ishare下载限制
  11. springAOP 之 前置输出
  12. Linux常用命令大全(非常全面)
  13. Visual Studio 2015的破解密钥
  14. android 地址json文件,Android访问assets本地json文件的方法
  15. 一般进入服务器系统的密码,如何查看远程服务器的密码是什么
  16. 什么软件有html5游戏,多款好玩HTML5小游戏带你认识HTML5优势
  17. linux网线插拔后ip地址丢失,网线拔掉检测,嵌入式网线直连开发板断电网线拔掉之后,上电仍能自动设置static静态ip地址...
  18. WhatsApp收不到验证码怎么解决呢?华为手机| 安卓手机| 苹果手机
  19. React实现实时/局部刷新
  20. Cocos2dx游戏教程(十五):“见缝插针”,愿你走出半生,归来仍是少年

热门文章

  1. 【收藏】spark中map与mapPartitions区别
  2. git每次操作都要输入账号密码 解决方案
  3. kibana操作elasticsearch:修改数据
  4. Java Stack栈类详解
  5. 【学亮IT手记】PL/SQL编程-存储过程
  6. PLSQL9.0下载及配置oracle,PLSQL登录时常见问题解决
  7. python中int函数规则_python数字规则和内建函数
  8. gerrit的使用和配置
  9. C/C++基础知识点(三)
  10. Qt QML 实现Android相册展示