sed流编辑器

23.3.1  sed  strem editor 流编辑器

sed编辑器是一行一行的处理文件内容的。正在处理的内容存放在模式空间(缓冲区)内,处理完成后按照选项的规定进行输出或文件的修改。

接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;

sed也是支持正则表达式的,如果要使用扩展正则加参数-r

sed的执行过程:

1、 一次读取一行数据

2、 根据我们提供的规则来匹配相关的数据,比如查找root。

3、 按照命令修改数据流中的数据,比如替换

4、 将结果进行输出

5、 重复上面四步

23.3.2  如何使用

语法格式:sed  [options] [commands] filename

   

例1:替换字符串中的部分内容

  echo "good moring Mr Wang" | sed 's/Wang/Hu/'

输出结果:

  good moring Mr Hu

sed选项|参数

options:

-a在当前行下面插入文件

-n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令

-e执行多个sed指令

-f运行脚本

-i编辑文件内容 ***

-i.bak编辑的同时创造.bak的备份

-r使用扩展的正则表达式

 

命令:

i在当前行上面插入文件

c把选定的行改为新的指定的文本

p打印 ***

d删除 ***

r/R读取文件/一行

w另存

s查找

y替换

h 拷贝模板块的内容到内存中的缓冲区。

H 追加模板块的内容到内存中的缓冲区。

g 获得内存缓冲区的内容,并替代当前模板块中的文本。

G 获得内存缓冲区的内容,并追加到当前模板块文本的后面

D删除\n之前的内容

P打印\n之前的内容

 

替换标记:

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

g:表示新文本将会替换所有匹配的文本

\1:子串匹配标记,前面搜索可以用元字符集\(..\),

&:保留搜索到的字符用来替换其它字符

 

sed匹配字符集

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

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

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

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

转载于:https://www.cnblogs.com/fusheng11711/p/10794997.html

linux shell中的流编辑器sed的使用相关推荐

  1. shell中的流编辑器awk

    shell中的流编辑器awk 文章目录 shell中的流编辑器awk awk命令 awk工作原理 awk的命令格式 awk常见的内建变量(可直接使用) awk按行输出文本 awk以字段输出文本 awk ...

  2. Shell学习总结-流编辑器sed

    目录 正则表达式 定址 命令与选项 用sed修改文件 元字符 sed范例 106- 正则表达式 与grep一样,sed在文件中查找模式时也要使用正则表达式(RE)和各种元字符.正则表达式是括在斜杠间的 ...

  3. shell脚本编程笔记(九)—— 初识流编辑器 sed

    一. 流编辑器 sed编辑器被称作流编辑器(stream editor).在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入.删除或替换数据中的文本.流编辑器则基于预先提供的一组命令来 ...

  4. linux sed 正则提取字符串,Shell中使用grep、sed正则提取和替换字符串

    Linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P ...

  5. 详解流编辑器 sed 和 编程语言 awk

    一.流编辑器 sed sed 是一个精简的.非交互式的流式编辑器,它在命令行中输入编辑命令和指定文件名,然后在屏幕上查看输出. 逐行读取文件内容存储在临时缓冲区中,称为"模式空间" ...

  6. Linux shell multifile content replace with sed

    #!/bin/bash# Linux shell multifile content replace with sed # 声明: # 本源代码主要是利用两份(中.英文)具有相同键值对的json数据, ...

  7. 54. 流编辑器sed技术概览

    1.流编辑器sed:不需要与人进行交互,修改文件是重点 sed工作流程 因此,sed不可将退出状态作为执行成功与否判断的依据. sed '' /etc/passwd 原封不动的逐行输出 sed 'd' ...

  8. linux shell bin sh,linux shell中#bin/sh的理解

    摘要 腾兴网为您分享:linux shell中#bin/sh的理解,支付旭尊,小熊到家,天天美剧,淘金宝等软件知识,以及维棠flv视频软件,usb抓包工具,红警2无敌,ucbug造梦西游4,壁纸工作室 ...

  9. Linux shell中的竖线(|)——…

    原文地址:Linux shell中的竖线(|)--管道符号 作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | comman ...

最新文章

  1. 状态估计问题学习记录(1)
  2. 2020-11-2(安卓入门(每个字皆为手打))
  3. VTK:PolyData之DeletePoint
  4. 前端学习(1375):express参数中post参数的获取
  5. 微软再向开发者重申:UWP 是 PC 的最佳平台
  6. (自定义组件)通用- X轴横向:溢出滚动 (含代码)- 案例篇
  7. 一台电脑连接到另外一台电脑的虚拟机里面的系统
  8. linux grub.cnf grub64.efi 文件
  9. Python 贪吃蛇 代码
  10. signature=34db6f8e3cd9ad368186a42fa9bb3c02,ad.html
  11. cab和ocx什么区别_CAB的完整形式是什么?
  12. IPFS占据10%存储份额?预测FIL价格千U?现在挖FIL晚吗?
  13. Linux那些事儿之我是U盘(28)第一次亲密接触(四)
  14. python终端会话是指什么_进程组、会话、控制终端的概念及程序
  15. 【机器学习7】决策树
  16. 【JY】有限单元分析的常见问题及单元选择
  17. 成绩统计(编写一个使用EL的jsp程序)
  18. Android跳转到拨打电话界面和拨打电话
  19. 意大利与比利时的决胜时刻
  20. 多源bfs Spicy Restaurant

热门文章

  1. exp-小写字母表导出问题?
  2. 10个JavaScript常见BUG及修复方法
  3. Entity Framework教程(第二版)
  4. CListCtrl行高问题最终解决方法
  5. iOS tabbar 图片,最佳大小方式
  6. (分治)分治法 及 题目
  7. 荷兰研制出世界最小U盘:长度不到2厘米
  8. 2010-03-23 杂七杂八
  9. Ubuntu切换用户su和su-的区别
  10. linux 文本排序、合并和分割 -转