使用sed编辑器.PDF

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用sed编辑器

使用 sed 编辑器 作者:Emmett Dulaney sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一,因此,有必要彻底地了解 其应用 Linux 操作系统最大的一个好处是它带有各种各样的实用工具。存在如此之多不同的实用 具,几乎不可能知道并了解所有这些工具。可以简化关键情况下操作的一个实用工具是 sed。它是任何管理员的工具包中最强大的工具之一,并且可以证明它自己在关键情况下非 常有价值。 sed 实用工具是一个 “编辑器”,但它与其它大多数编辑器不同。除了不面向屏幕之外,它 还是非交互式的。这意味着您必须将要对数据执行的命令插入到命令行或要处理的脚本中。 当显示它时,请忘记您在使用 Microsoft Word 或其它大多数编辑器时拥有的交互式编辑文 件功能。sed 在一个文件(或文件集)中非交互式、并且不加询问地接收一系列的命令并执 行它们。因而,它流经文本就如同水流经溪流一样,因而 sed 恰当地代表了流编辑器。它 可以用来将所有出现的 Mr. Smyth 修改为 Mr. Smith,或将 tiger cub 修改为 wolf cub。流编辑器非常适合于执行重复的编辑,这种重复编辑如果由人工完成将花费大 量的时间。其参数可能和一次性使用一个简单的操作所需的参数一样有限,或者和一个具有 成千上万行要进行编辑修改的脚本文件一样复杂。sed 是 Linux 和 UNIX 工具箱中最有用 的工具之一,且使用的参数非常少。 sed 的工作方式 sed 实用工具按顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在 完成请求的修改之后将该行放回到内存中,以将其转储至终端。完成了这一行上的所有操作 之后,它读取文件的下一行,然后重复该过程直到它完成该文件。如同前面所提到的,默认 输出是将每一行的内容输出到屏幕上。在这里,开始涉及到 两个重要的因素—首先,输出 可以被重定向到另一文件中,以保存变化;第二,源文件(默认地)保持不被修改。sed 默 认读取整个文件并对其中的每一行进行修改。不过,可以按需要将操作限制在指定的行上。 该实用工具的语法为: sed [options] {command} [filename] 在这篇文章中,我们将浏览最常用的命令和选项,并演示它们如何工作,以及它们适于在何 处使用。 替换命令 sed 实用工具以及其它任何类似的编辑器的最常用的命令之一是用一个值替换另一个值。用 来实现这一 目的的操作的命令部分语法是: s/{old value}/{new value}/ 因而,下面演示了如何非常简单地将 tiger 修改为 wolf: $ echo The tiger cubs will meet on Tuesday after school | sed s/tiger/wolf/ The wolf cubs will meet on Tuesday after school $ 注意如果输入是源自之前的命令输出,则不需要指定文件名—同样的原则也适用于 awk、 sort 和其它大多数 Linux\UNIX 命令行实用工具程序。 多次修改 如果需要对同一文件或行作多次修改,可以有三种方法来实现它。第一种是使用 -e 选项, 它通知程序使用了多条编辑命令。例如: $ echo The tiger cubs will meet on Tuesday after school | sed -e s/tiger/wolf/ -e s/after/before/ The wolf cubs will meet on Tuesday before school $ 这是实现它的非常复杂的方法,因此 -e 选项不常被大范围使用。更好的方法是用分号来 分隔命令: $ echo The tiger cubs will meet on Tuesday after school | sed s/tiger/wolf/; s/after/before/ The wolf cubs will meet on Tuesday before school $ 注意分号必须是紧跟斜线之后的下一个字符。如两者之间有一个空格,操作将不能成功完成, 并返回一条错误消息。这两种方法都很好,但许多管理员更喜欢另一种方法。要注意的一个 关键问题是,两个撇号 ( ) 之间的全部内容都被解释为 sed命令。直到您输入了第二个 撇号,读入这些命令的 shell程序

您可能关注的文档

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档