码迷,mamicode.com
首页 > 其他好文 > 详细

sed入门详解教程

时间:2016-07-05 17:03:57      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

sed是一个比较古老的,功能十分强大的用于文本处理的流编辑器,加上正则表达式的支持,可以进行大量的复杂的文本编辑操作。sed本身是一个非常复杂的工具,有专门的书籍讲解sed的具体用法,但是个人觉得没有必要去学习它的每个细节,那样没有特别大的实际意义。网上也有很多关于sed的教程,我也是抱着学习的心态来学习sed的常见的用法,并进行系统的总结,内容基本覆盖了sed的大部分的知识点。文中的内容比较简练,加以实际示例来帮助去理解sed的使用。

sed介绍

sed全名为stream editor,流编辑器,用程序的方式来编辑文本,功能相当的强大。是贝尔实验室的Lee E.McMahon在1973年到1974年之间开发完成,目前可以在大多数操作系统中使用,sed的出现作为grep的继任者。与vim等编辑器不同,sed是一种非交互式编辑器(即用户不必参与编辑过程),它使用预先设定好的编辑指令对输入的文本进行编辑,完成之后再输出编辑结构。sed基本上就是在玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强。

sed工作原理

sed会一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,成为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

正则表达式概念

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

正则表达式的匹配过程

简单描述一下正则表达式的匹配过程,就是拿正则表达式所表示的字符串去和原文字符串内容去匹配,直到匹配到原文内容字符串中的一个完整子串就表示匹配成功。举个例子,有一行文件内容”this is better desk”,这里用“esk”去匹配,匹配过程是这样的:首先拿e去匹配文件行内容,从this开始,直到better的e,第一个字符匹配成功,接着s去匹配better字符e后边的t字符,没有匹配成功;然后重新拿esk中的e去和better的第二个t去匹配,没有成功,接着原始内容的下一个字符,直到desk中的e字符,逐个匹配s,k字符,到此为止,esk成功匹配,正则表达式匹配完毕,整个过程就是这样,即使再复杂的正则表达式的匹配过程也是按照此过程来进行的。

sed入门详解教程

标签:

原文地址:http://www.cnblogs.com/liwei0526vip/p/5644163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!