shell基础1:文件安全与权限 
http://bbs.chinaunix.net/thread-434579-1-1.html

附:Linux的用户和用户组管理 
http://bbs.chinaunix.net/thread-438660-1-1.html

shell基础二:查找技巧,find及xargs的使用
http://bbs.chinaunix.net/thread-441883-1-1.html

shell基础三和四:后台(crontab,at,&,nohup)及(*,?,[]等) 
http://bbs.chinaunix.net/thread-442596-1-1.html

shell基础五:输入和输出(echo,read,cat,管道,tee,重定向等) 
http://bbs.chinaunix.net/thread-444209-1-1.html

shell基础六七:命令执行顺序(||及&&,{}及())和正则表? 
http://bbs.chinaunix.net/thread-445229-1-1.html

shell基础八:文本过滤工具(grep) 
http://bbs.chinaunix.net/thread-446683-1-1.html

shell基础九:awk 
http://bbs.chinaunix.net/thread-448687-1-1.html

shell基础十:sed 
http://bbs.chinaunix.net/thread-452942-1-1.html

shell基础11:文件分类、合并和分割(sort,uniq,join,cut,paste,split) 
http://bbs.chinaunix.net/thread-457730-1-1.html

shell基础十二:tr 
http://bbs.chinaunix.net/thread-459099-1-1.html

感谢L_kernel补充的第十三——二十篇(cjaizss添加)
shell基础第十三篇-登录环境 
http://bbs.chinaunix.net/thread-1820174-1-1.html

shell基础第十四篇-环境和shell变量 
http://bbs.chinaunix.net/thread-1820194-1-1.html

shell基础第十五篇-引号
http://bbs.chinaunix.net/thread-1820220-1-1.html

shell基础第十六篇-shell脚本介绍
http://bbs.chinaunix.net/thread-1820301-1-1.html

shell基础学习第十七篇-条件测试 
http://bbs.chinaunix.net/thread-1820304-1-1.html

shell基础第十八篇-控制流结构 
http://bbs.chinaunix.net/thread-1820329-1-1.html

shell学习基础第十九篇-shell函数
http://bbs.chinaunix.net/thread-1820454-1-1.html

shell基础学习第二十篇-向脚本传递参数 
http://bbs.chinaunix.net/thread-1823335-1-1.html

其它我的笔记都在我的BLOG上,呵呵,有兴趣的可以去看看

shell基础十:sed

sed 用法介绍

s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。

" 抽取域。
" 匹配正则表达式。
" 比较域。
" 增加、附加、替换。
" 基本的s e d命令和一行脚本。

可以在命令行输入s e d命令,也可以在一个文件中写入命令,然后调用s e d,这与a w k基本相同。使用s e d需要记住的一个重要事实是,无论命令是什么, s e d并不与初始化文件打交道,它操作的只是一个拷贝,然后所有的改动如果没有重定向到一个文件,将输出到屏幕。

因为s e d是一个非交互性编辑器,必须通过行号或正则表达式指定要改变的文本行。
本文介绍s e d用法和功能。本章大多编写的是一行命令和小脚本。这样做可以慢慢加深对s e d用法的了解,取得宝贵的经验,以便最终自己编出大的复杂s e d脚本。
和g r e p与a w k一样, s e d是一种重要的文本过滤工具,或者使用一行命令或者使用管道与g r e p与a w k相结合。

1 sed怎样读取数据

s e d从文件的一个文本行或从标准输入的几种格式中读取数据,将之拷贝到一个编辑缓冲区,然后读命令行或脚本的第一条命令,并使用这些命令查找模式或定位行号编辑它。重复此过程直到命令结束。

2 调用sed

调用s e d有三种方式:在命令行键入命令;将s e d命令插入脚本文件,然后调用s e d;将s e d命令插入脚本文件,并使s e d脚本可执行。

使用s e d命令行格式为:

  1. sed [选项] s e d命令输入文件。

复制代码

记住在命令行使用s e d命令时,实际命令要加单引号。s e d也允许加双引号。

使用s e d脚本文件,格式为:

  1. sed [选项] -f sed脚本文件输入文件

复制代码

要使用第一行具有s e d命令解释器的s e d脚本文件,其格式为:

  1. s e d脚本文件[选项] 输入文件

复制代码

不管是使用s h e l l命令行方式或脚本文件方式,如果没有指定输入文件, s e d从标准输入中接受输入,一般是键盘或重定向结果。

s e d选项如下:
n 不打印;s e d不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑)。p命令可以用来打印编辑行。
c 下一命令是编辑命令。使用多项编辑时加入此选项。如果只用到一条s e d命令,此选项无用,但指定它也没有关系。
f 如果正在调用s e d脚本文件,使用此选项。此选项通知s e d一个脚本文件支持所有的s e d命令,例如:sed -f myscript.sed input_file,这里m y s c r i p t . s e d即为支持s e d命令的文件。

2.1 保存sed输出
由于不接触初始化文件,如果想要保存改动内容,简单地将所有输出重定向到一个文件即可。下面的例子重定向s e d命令的所有输出至文件‘ m y o u t f i l e’,当对结果很满意时使用这种方法。

  1. $sed 'some-sed-commands' input-file > myoutfile

复制代码

2.2 使用sed在文件中查询文本的方式
s e d浏览输入文件时,缺省从第一行开始,有两种方式定位文本:

1) 使用行号,可以是一个简单数字,或是一个行号范围。
2 ) 使用正则表达式

下面是使用s e d定位文本的一些方式。

  1. x x为一行号,如1
  2. x , y 表示行号范围从x到y,如2,5表示从第2行到第5行
  3. / p a t t e r n / 查询包含模式的行。例如/ d i s k /或/[a-z]/
  4. / p a t t e r n / p a t t e r n / 查询包含两个模式的行。例如/ d i s k / d i s k s /
  5. p a t t e r n / , x 在给定行号上查询包含模式的行。如/ r i b b o n / , 3
  6. x , / p a t t e r n / 通过行号和模式查询匹配行。3 . / v d u /
  7. x , y ! 查询不包含指定行号x和y的行。1 , 2 !

复制代码

2.3 基本sed编辑命令

  1. sed编辑命令
  2. p 打印匹配行
  3. = 显示文件行号
  4. a \ 在定位行号后附加新文本信息
  5. i \ 在定位行号后插入新文本信息
  6. d 删除定位行
  7. c \ 用新文本替换定位文本
  8. s 使用替换模式替换相应模式
  9. r 从另一个文件中读文本
  10. w 写文本到一个文件
  11. q 第一个模式匹配完成后推出或立即推出
  12. l 显示与八进制A S C I I代码等价的控制字符
  13. { } 在定位行执行的命令组
  14. n 从另一个文件中读文本下一行,并附加在下一行
  15. g 将模式2粘贴到/pattern n/
  16. y 传送字符
  17. n 延续到下一输入行;允许跨行的模式匹配语句

复制代码

sed和正则表达式

s e d识别任何基本正则表达式和模式及其行匹配规则。记住规则之一是:如果要定位一特殊字符,必须使用( \)屏蔽其特殊含义

第十章 sed. 其他各章可察看相应的 link.相关推荐

  1. 《javascript设计模式》笔记之第十章 和 第十一章:门面模式和适配器模式

    第十章:门面模式 一:门面模式的作用 简化已有的api,使其更加容易使用 解决浏览器的兼容问题 二:门面模式的本质 门面模式的本质就是包装已有的api来简化操作   三:门面模式的两个简单例子 下面这 ...

  2. 【哈工大软件构造】学习笔记10 第十章、第十一章、第十二章

    目录 第十章 面向可维护性的构造技术 1 软件维护和演化 2 可维护性的度量 3 模块化设计和模块性准则 模块划分的五个准则 模块设计的五个原则 耦合度和聚合度 4 OO设计准则:SOLID SRP ...

  3. 全国互联电网调度管理规程(第十章__第十三章)

    全国互联电网调度管理规程(试行) 目 录 第九章 电网稳定的管理 第十章 调度操作规定 第十一章 事故处理规定 第十二章 继电保护及安全自动装置的调度管理 第十三章 调度自动化设备的运行管理 第十四章 ...

  4. 【Java编程思想】读书笔记(二)第六章---第十章

    Java编程思想(第四版)学习笔记 第六章---第十章 第六章:访问权限控制 6.2Java访问权限修饰词 第七章:复用类 7.1 组合语法 7.2 继承语法(extends) 7.4.2名称屏蔽(重 ...

  5. 智慧树\知到——程序设计基础(C语言)入门篇第六章到第十章测试答案

    目录 第六章测试 第七章测试 第八章测试 第九章测试 第十章测试 第六章测试 第1部分 总题数: 10 1 [判断题] (10分) 有下列程序段,程序段运行后的输出结果##2##3##4##5(    ...

  6. 多元统计第二章证明题_2020年中南大学应用统计硕士考研成功经验分享

    一.自我介绍 2020年考生通过综合选拔(中南大学特有的模式),初试成绩370分+.中南大学应用统计专业硕士校线365分.中南大学的应用统计这个专业相对于其他的985院校来说性价比很高,分数线不是特别 ...

  7. 三剑客之 sed详解

      sed 作者:Jack.X 归档:学习笔记 2017/4/13 三剑客之sed 第1章 sed详解: 1.1 sed介绍: sed是linux命令中三剑客的老二,sed命令是操作.过滤和转换文本内 ...

  8. JavaSE_第十一章:常用类

    JavaSE学习历程 第一章:Java初识 第二章:Java语言基础 第三章:选择结构与分支结构 第四章:循环结构 第五章:方法/函数 第六章:数组 第七章:面向对象 第八章:三大特性 第九章:三个修 ...

  9. 81章 老子1章到_老子1章2章80章81章

    老子1章2章80章81章 第一章原文道可道,非常道:名可名,非常名.无名天地之始,有名万物之母.故常无欲以观其妙,有欲以观其窍.此两者同出而异名,同为之玄,玄之又玄,众妙之门.翻译取道于寻常可得的道, ...

最新文章

  1. 微众银行AI团队开源联邦学习框架,并发布《联邦学习白皮书1.0》
  2. android源码模块编译错误,Android 源码编译错误记录
  3. Swoole找不到telnet命令
  4. heap与stack区别
  5. 数据分割-并查集+set
  6. 没有样式重置_我不能没有的5个Vue.js库
  7. Pycharm 新版本打开md文件卡死-解决办法
  8. win10虚拟机下载安装流程
  9. 基于百度指数的股票收益率多因子模型研究
  10. Codeforces 刷水记录
  11. Ubuntu不能连接XShell、主机Ping不通虚拟机,但虚拟机能ping通主机
  12. Python 实现人机大战猜数字
  13. 黑马程序员——常用类
  14. C++教程网编程视频
  15. 厉害了!印度老头:从雅虎挖来陆奇,All in云业务,带领微软重生!
  16. 【51CTO学院三周年】生活不止眼前的苟且,还是让我们一起欢乐的抠腚吧
  17. mongodb安装【超详细】
  18. 基于Java+Swing+mysql飞机票订票系统
  19. wireshark下载
  20. Visual LISP程序设计手册

热门文章

  1. 人机交互设计(HCI)的七原则
  2. WebRTC音视频原理
  3. 缝纫机行业领导者SINGER诞生170周年,发布复古版新产品
  4. FPGA 处理视频SDRAM带宽计算(四画面视频分割器 4K@30输出)
  5. 杭电acm 4545魔法串(字符串处理)
  6. [介绍] SymbolSort, 帮你避免或减少代码膨胀 (Code Bloat)
  7. 大咖访谈 | 开源社区里各种奇怪的现状——夜天之书陈梓立tison
  8. 聚名:阿里巴巴“双11”商标被驳回,商标申请驳回的原因是什么?
  9. 2020年博客日报第二篇|总有些人影响着你,反思+工作总结
  10. 基础编程练习题(二)