替换文件中的文本字符串 [Guide]

在 Linux 上手动编辑文本文件可能很乏味。 这就是为什么最好知道如何使用命令行快速替换文件中的文本字符串。 如果您是 Linux 新手并且不知道如何操作,我们可以提供帮助! 跟随我们向您展示如何在 Linux 上替换文件中的文本字符串!

替换文件中的文本字符串 – sed

sed 工具是在 Linux 上替换文件中文本字符串的最佳方法。 原因? 它使用起来很简单,并且做得很好。 Sed 通常预装在 99% 的 Linux 操作系统上,因此无需安装即可使用。

用 Sed 替换文件中的文本字符串是使用 sed -i 命令完成的。 以下是如何使用它。 首先,在 Linux 桌面上打开一个终端窗口。 您可以通过按键盘上的 Ctrl + Alt + T 打开终端窗口。

终端窗口打开并准备好使用后,在终端提示符中写出 sed -i 。 这是替换命令的开始。

sed -i

写出 sed -i 命令后,添加一个 ‘ 引号。 这个引号是必不可少的,因为所有被 sed -i 替换的文本都需要在这个引号之后开始。

sed -i '

在第一个 ‘ 标记之后,写 s/。 s/ 直接位于您希望使用 sed 替换的现有文本之前。

sed -i 's/

现在 s/ 已写入终端命令行提示符,是时候告诉 sed 替换文件中的哪些文本了。 在此示例中,我们将替换单词“apple”。

sed -i 's/apple

当我们要替换的文本被写入命令时,下一步就是写入将替换它的新文本。 在本例中,我们将“apples”替换为“oranges”。

sed -i 's/apples/oranges

一旦我们要替换的文本被写入命令(橙子),用 g/ 关闭命令。 g/ 告诉 sed 用新文本(橙子)替换所有文本实例(苹果)。 它应该类似于下面的示例。

  听力损失:多大音量才算太大声?

注意:如果您不想替换文件中的所有文本(例如,从苹果到橙子),请删除 g 并将其作为 sed -i ‘s/apples/oranges/’ 运行。

sed -i 's/apple/orange/g'

最后,告诉 sed 需要替换的文本在哪个文件中。 在此示例中,主目录中的fruit.txt 是目标。

sed -i 's/apples/oranges/g' ~/fruit.txt

按回车键执行命令并替换文件中的文本字符串。

替换文件中的文本字符串 – Perl

在 Linux 上替换文件中的文本字符串的另一种方法是使用 Perl 编程语言。 Perl 经常用于文本处理,因此很自然地,它可以交换文件中的文本字符串,非常适合这种用例。

首先,确保您在 Linux PC 上安装了 Perl。 大多数 Linux 操作系统都安装了 Perl。 但是,如果您没有它,请查看操作系统的帮助页面以获取有关如何使其工作的信息。

使用 Perl 替换文件中的文本字符串需要终端。 通过按键盘上的 Ctrl + Alt + T 在 Linux 桌面上打开一个终端。 或者,在应用程序菜单中搜索“终端”并以这种方式启动它。

终端窗口打开并准备好使用后,首先在命令行提示符下键入 perl -pe。 perl -pe 命令是替换文件中的文本字符串所需要的。

perl -pe

在终端提示符中写出 perl -pe 后,您需要从第一个 ‘ 引号开始。 这个标记告诉 Perl 文本替换区域在命令中的位置。

perl -pe '

在第一个 ‘ 引号之后,添加 s/,然后是要替换的文本字符串,然后是另一个 /。 例如,要替换fruit.txt 文件中的“apples”,您需要写出以下文本。

perl -pe 's/apples/

写出要替换的单词后,添加将替换现有文本的单词。 例如,如果要将“fruit.txt”中的“apples”替换为“oranges”,请在 perl -pe ‘s/apples/ 之后添加“oranges”,使其看起来像 perl -pe ‘s/apples/oranges/ .

perl -pe 's/apples/oranges/

一旦两个文本字符串都在命令中,您需要指定 Perl 使用的输入文件。 例如,如果要替换“fruit.txt”文件中的文本,则需要在命令中指定它。

  修复缩放无法检测到相机

注意:在本例中,“fruit.txt”文件位于主目录 (~/) 中。 请务必将“~/fruit.txt”替换为您的文本文件的位置,以使命令生效。

perl -pe 's/apples/oranges/' ~/fruit.txt

现在输入文件(您正在使用 Perl 修改的文件)已添加到命令中,该命令应如下所示。

perl -pe 's/apples/oranges/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt

运行上述命令时,文本字符串将替换为您指定的新文本。 在我们的示例中,我们将“apples”替换为“oranges”。 要查看更改,请输入以下命令。

cat fruit.txt