sed 1 简介

作者: 赵者也 | 来源:发表于2017-11-06 15:07 被阅读6次

sed(意为流编辑器,源自英语“stream editor”的缩写)是Unix常见的命令行程序。sed 用来把文档或字符串里面的文字经过一系列编辑命令转换为另一种格式输出。sed通常用来匹配一个或多个正则表达式的文本进行处理。

以上,是 sed 在维基百科上的简介。

sed 是非交互式的面向数据流的编辑器。之所以说它时面向数据流的,是因为像很多 Unix 程序一样,输入通过程序被重定向到标准输出。输入通常来自文件,但也可以来自键盘。输出默认时发送到终端屏幕,但也可以重定向到文件。sed 可以通过解释脚本来工作,该脚本中指定了将要执行的动作。

sed 提供的功能好像是交互式文本编辑器的自然扩展。例如,它提供可以全局地应用到单个或一组文件的搜索替换功能。尽管我们通常不会使用 sed 去修改指定文件中的仅出现一次的条目,但我们会发现使用它对许多文件进行一系列修改时是很有用的。考虑一下,几分甚至数秒钟之内在一百多个文件中进行 20 个不同的编辑,你就可以想象 sed 的强大了。

使用 sed 类似于编写简单的 shell 脚本。我们可以依次指定将要执行的一系列行为。这些行为中的大部分可以在 vi 中手动地完成,比如:替换文本、删除某行、插入新文本等等。而 sed 的优势在于我们可以在一处(一个 sed 脚本中)指定所有的编辑命令,然后逐条执行它们。我们不必进入到每个文件中做修改。sed 同样可以有效地编辑非常大的、在使用交换式文本编辑器编辑时会很慢的文件。

在创建和维护文档的过程中有很多机会使用 sed,尤其是当文档由单独的章节组成,每一章放在分隔的文件中时。特别是,比如一个文件稿本在评审之后,有很多变更可能要应用到所有文件中。例如,在软件文档化项目中,软件的名称或它的组件可能会变更,我们需要追查和进行修改,使用 sed,就可以很简单地进行处理。

sed 可以用于实现整个文档的一致性。我们可以查找一个特定条目的所有不同的使用方式并把它们变成完全一致。例如,使用 ASCII 字符码替换前后双引号(弯引号“”而不是直引号"")时,就可以使用 sed。

sed 具有几个基本的可以用于构建更复杂脚本的编程结构。它同样也有同时只能编辑一行的限制。

总的来说,我们可以使用 sed 做如下操作:

  1. 自动化地编辑一个或多个文件
  2. 简化在多个文件中执行相同编辑的任务
  3. 编写转换程序

本文参考自 《Linux Shell命令行及脚本编程实例详解

相关文章

  • linux:sed

    Table of Contents Sed简介 定址 Sed命令 选项 元字符集 实例 脚本 1. Sed简介 s...

  • sed 1 简介

    sed(意为流编辑器,源自英语“stream editor”的缩写)是Unix常见的命令行程序。sed 用来把文档...

  • linux sed

    Sed简介 定址 Sed命令

  • Linux--sed命令

    1、sed简介 Linux sed 命令是利用脚本来处理文本文件。 sed 可依照脚本的指令来处理、编辑文本文件。...

  • sed简介

    sed是一个文本流处理器,配合正则表达式用可以实现很多文本处理操作。 和grep一样,sed是一行一行的处理的。s...

  • Sed简介

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选...

  • Sed简介

    Sed :一个流编辑工具,通常配合awk和grep使用,江湖称它们三个为“三剑侠” man手册是这样介绍的:sed...

  • linux sed 总结

    1.简介 sed是一种行编辑器,它一次处理一行内容。 2.sed调用方式 sed [options] 'comma...

  • 从零开始学习Linux(四十五):Shell编程之sed命令

    1、sed简介 sed是Linux平台中的一种轻量级的流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的...

  • Linux awk和sed的用法

    sed工具简介 用法:sed [-nefri] 动作参数:-n:使用安静模式(Silent)模式,一般在sed的...

网友评论

    本文标题:sed 1 简介

    本文链接:https://www.haomeiwen.com/subject/lnvruxtx.html