📜  LinuxUnix 中的 Sed 命令示例(1)

📅  最后修改于: 2023-12-03 15:02:44.945000             🧑  作者: Mango

Linux/Unix 中的 Sed 命令示例

Sed是一种流文本编辑器,常用于在文本流中进行查找和替换操作。它是Linux/Unix操作系统的一个非常实用的命令行工具,可用于处理文本文件和数据流。以下是一些常见的Sed命令示例:

替换单个字符串

要将文件或数据流中的单个字符串替换为另一个字符串,请使用以下命令:

sed 's/old-string/new-string/' file.txt

该命令将查找文本文件file.txt中的所有old-string字符串,并将其替换为new-string字符串。该命令不会修改原始文件,而是将其输出到终端或重定向到新文件。

替换所有字符串

要将文件或数据流中的所有匹配字符串替换为新字符串,请使用以下命令:

sed 's/old-string/new-string/g' file.txt

该命令会将文件中的所有匹配字符串替换为new-string字符串,并在命令末尾的g参数指示全局替换。

仅输出匹配行

要仅输出包含匹配字符串的行,请使用以下命令:

sed -n '/pattern/p' file.txt

该命令将查找文本文件file.txt中包含pattern字符串的所有行,并将它们打印到终端或重定向到新文件。-n选项指示Sed仅输出匹配行,而/p命令指示Sed打印匹配行。

删除包含匹配字符串的行

要删除文件中包含匹配字符串的行,请使用以下命令:

sed '/pattern/d' file.txt

该命令将查找文件中包含pattern字符串的所有行,并将其从输出中删除。

插入新行

要在在每行前插入新行,请使用以下命令:

sed 'i\new-line' file.txt

此命令将在下一个文本行之前插入新行。此处的new-line指的是您要插入的文本行。

打印行号

要为输出的每个行添加行号,请使用以下命令:

sed = file.txt | sed 'N;s/\n/ /'

此命令输出文件file.txt的所有行,每行在左侧打印一个行号。将其与N命令结合使用,以捆绑行号和文本行在同一行上。

Sed是Linux和Unix操作系统上的强大文本处理工具。以上是常用的一些Sed命令示例。对于需要处理大量文本的程序员来说,学习如何使用和掌握Sed是非常有用的技能。