添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何使用 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 --version

如果 sed 在您的 Ubuntu 上不可用;您可以通过执行下面提到的命令使用包管理器安装它:

$ sudo apt install sed

如何在每行末尾追加新行

由于操作将针对特定的文本文件执行;因此,您必须创建一个文本文件并向其中添加一些文本,或者您也可以将 sed 应用于任何现有的文本文件(确保该文件不包含任何重要信息,否则您可能在测试时丢失信息):

我们在桌面上创建了一个文本文件“ test.txt ”(您可以使用任何目录),并向其中添加了几行文本。让我们使用下面的命令在终端上获取“ test.txt ”的内容:

$ cat 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 的重要性,我们编写了本指南来演示在每行末尾附加新行或单词的方法。此外,用户还可以通过在命令中提及该编号来对特定行号执行此任务。