如何使用 Sed 在每行末尾添加新行
sed 代表流编辑器,用于对来自文件的文本或从另一个命令直接传递给 sed 的输入进行基本编辑操作。与它的输入标准一样,sed 可以处理输入文件并将输出提供给另一个程序(因为它直接从其他程序获取输入)。它可用于跟踪文档中以不同方式使用的同一单词,用户可以设置它们以便更好地理解。由于 sed 的基础是基于文本编辑器,但它也可以用来编写复杂的脚本。然而,sed 命令可以执行的主要操作如下:
-
打印该行
-
查找并替换一行或文本文件中的单词
-
删除包含特定单词的行
-
在任意行之后附加行/文本(通过指定行号)
-
在开始每行之前或任何特定行之前添加一行
Ubuntu 的 sed 命令实用程序有多种操作需要执行;我们今天的指南将重点关注在任何文本文件的每行末尾附加文本。
因此,在深入了解本教程之前,让我们先了解 sed 命令的基本语法:
句法
sed
[
options
]
command
[
file
to edit
]
sed 命令中的选项用于获取多种格式的输出;例如,“-i”选项用于将更改(由 sed 命令引起)保存到原始文件。此语法的“command”部分包含您要使用此命令执行的 sed 命令的基本操作(编辑、删除或打印行)。最后,“要编辑的文件”由应用 sed 命令的文件的名称组成。
如何在 Ubuntu 上安装 sed
在大多数 Linux 发行版中,sed 都带有内置访问;您可以获取 sed 的版本来检查它是否在您的系统上可用;在终端中编写以下命令来验证 sed 在您的 Ubuntu 上是否存在:
如果 sed 在您的 Ubuntu 上不可用;您可以通过执行下面提到的命令使用包管理器安装它:
如何在每行末尾追加新行
由于操作将针对特定的文本文件执行;因此,您必须创建一个文本文件并向其中添加一些文本,或者您也可以将 sed 应用于任何现有的文本文件(确保该文件不包含任何重要信息,否则您可能在测试时丢失信息):
我们在桌面上创建了一个文本文件“
test.txt
”(您可以使用任何目录),并向其中添加了几行文本。让我们使用下面的命令在终端上获取“
test.txt
”的内容:
现在,我们将使用 sed 命令在文件“
test.txt
”中的每一行添加一行“
You areworking interminal of Ubuntu
”;因此,下面提到的命令将有助于执行此操作:
值得注意的是,这里使用了“
a
”关键字,将其后面写入的文本附加到文件“
test.txt
”的每一行:
$
sed
‘a You are working
in
terminal of Ubuntu’ test.txt
您将观察到结果打印在终端上,但原始文件“test.txt”保持不变;如果您也想对原始文件进行更改;您必须使用“-i”选项,就像我们使用以下命令完成的那样:
$
sed
-i
‘a You are working
in
terminal of Ubuntu’ test.txt
除了附加到每一行之外,sed 命令还允许您选择将文本附加到任何特定行;例如,以下命令将仅将文本附加到第 3 行,并且也会对原始文件进行更改:
$
sed
‘3a
sed
is a multipurpose
command
line utility’ test.txt
还可以将任何 sed 命令的结果保存到另一个文件中;例如,下面提到的命令会将结果保存在新的文本文件“output.txt”中。
$
sed
'3a sed is a multipurpose command line utility'
test.txt
>
output.txt
结论
sed 是一个命令行实用程序,称为流编辑器,它可以对文件执行一些基本操作,例如搜索、替换、插入或删除。除了这些基本操作之外,它还可以用于复杂的脚本编写:因此,据说新手用户可能会犹豫是否要学习这一点。事实上,sed命令在基础层面上很容易学习和实现,新用户一定要尝试一下来执行上述操作。知道 sed 的重要性,我们编写了本指南来演示在每行末尾附加新行或单词的方法。此外,用户还可以通过在命令中提及该编号来对特定行号执行此任务。