如何使用 SED 命令查找和替换文件中的字符串

介绍

Sed 代表 小号ED伊托尔。 它是一个 Linux 命令,用于在文本文件中搜索、查找和替换,或插入和删除单词和行。

Sed 命令最常见的用例是查找和替换文件中的字符串。 使用 Sed 命令时,您可以在不打开文件的情况下编辑文件。

本文将详细解释使用 Sed 命令查找和替换文件中的字符串。

本教程中的所有示例均在 Ubuntu 20.04 上执行。

查找和替换

默认情况下,Sed 安装在大多数 Linux 发行版中。 您可以通过运行以下命令验证 Sed 在 Linux 系统上的安装:

$ sed --v

输出将是这样的:

使用 Sed 命令查找和替换文本的基本语法是:

$ sed -i 's/Search_pattern/Replacement_pattern/g' FILE

其中:

-i:此选项使 Sed 命令在原地编辑文件,而不是将输出写入标准输出。

s:代表替代品。

//:分隔符。

g:它是一个全局替换标志。

FILE:您要通过 Sed 命令操作的文件。

强烈建议将搜索模式、替换模式和其他参数放在引号中。

例如,这是一个用于演示的文本文件:

567 Test test test
test /bin/zsh linuxways.net testbar 789

要将所有 ‘test’ 单词替换为 ‘linux’ 单词,请运行以下命令:

$ sed -i 's/test/linux/g' test.txt

输出:

如果不使用 g 标志,则仅替换每行中第一次出现的搜索模式:

$ sed -i 's/test/linux/' test.txt

输出: