听起来可能有点疯狂, 但是Linux sed
命令是一个没有界面的文本编辑器.你可以从命令行中使用它来操作文件和流中的文本.
我们将向你展示如何利用它的力量.
Sed的力量
sed
命令有点像下棋:一小时就能入门但是需要一辈子来精通(或者至少需要大量练习).
我们将以一系列精选的开场白来向你展示 sed
各个主要类别的功能.
sed
是一个处理管道输入或文本文件的流编辑器, 但是,它没有交互式文本编辑器界面, 相反,你要为它提供指导, 让它在阅读文本时来遵循这些。这些都可以使用在Bash和其他命令行shell中。
通过 sed
你可以做以下所有的事情
- 选择文本
- 替换文本
- 添加行到文本
- 从文本删除行
- 编辑(或保存)一个原始文件
我们构建了示例来介绍和演示概念,而不是生成最简洁(和最不容易理解)的 sed
命令。但是, sed
的模式匹配和文本选择功能严重依赖于正则表达式(regexes)。要充分利用 sed
,你需要熟悉这些内容。
一个简单例子
首先, 我们使用 echo
命令 通过管道 来发送一些文本到 sed
, 并让 sed
替换文本的一部分。为此,我们输入以下代码:
echo howtogonk | sed 's/gonk/geek/'
echo
命令将”howtogonk”发送到 sed
中,并应用我们的简单替换规则(“s”代表替换)。sed在输入文本中搜索第一个字符串的出现,并将用第二个字符串替换所有匹配项。
字符串“gonk”被替换为“geek”,新的字符串将在终端窗口中打印。
替换可能是 sed
最常用的用法。但是,在深入研究替换之前,我们需要知道如何选择和匹配文本。
选择文本
我们的示例需要一个文本文件。我们将使用一个包含塞缪尔·泰勒·柯勒律治的史诗《古舟子咏》中的选段。
原文地址: https://www.howtogeek.com/666395/how-to-use-the-sed-command-on-linux/