听起来可能有点疯狂, 但是Linux sed 命令是一个没有界面的文本编辑器.你可以从命令行中使用它来操作文件和流中的文本.
我们将向你展示如何利用它的力量.

Sed的力量

sed 命令有点像下棋:一小时就能入门但是需要一辈子来精通(或者至少需要大量练习).
我们将以一系列精选的开场白来向你展示 sed 各个主要类别的功能.

sed 是一个处理管道输入或文本文件的流编辑器, 但是,它没有交互式文本编辑器界面, 相反,你要为它提供指导, 让它在阅读文本时来遵循这些。这些都可以使用在Bash和其他命令行shell中。

通过 sed 你可以做以下所有的事情

  • 选择文本
  • 替换文本
  • 添加行到文本
  • 从文本删除行
  • 编辑(或保存)一个原始文件

我们构建了示例来介绍和演示概念,而不是生成最简洁(和最不容易理解)的 sed 命令。但是, sed 的模式匹配和文本选择功能严重依赖于正则表达式(regexes)。要充分利用 sed ,你需要熟悉这些内容。

一个简单例子

首先, 我们使用 echo 命令 通过管道 来发送一些文本到 sed , 并让 sed 替换文本的一部分。为此,我们输入以下代码:

  1. echo howtogonk | sed 's/gonk/geek/'

echo 命令将”howtogonk”发送到 sed 中,并应用我们的简单替换规则(“s”代表替换)。sed在输入文本中搜索第一个字符串的出现,并将用第二个字符串替换所有匹配项。
字符串“gonk”被替换为“geek”,新的字符串将在终端窗口中打印。
如何在Linux使用sed命令 - 图1
替换可能是 sed 最常用的用法。但是,在深入研究替换之前,我们需要知道如何选择和匹配文本。

选择文本

我们的示例需要一个文本文件。我们将使用一个包含塞缪尔·泰勒·柯勒律治的史诗《古舟子咏》中的选段。

原文地址: https://www.howtogeek.com/666395/how-to-use-the-sed-command-on-linux/