📜  删除 sed 中的行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:50:17.755000             🧑  作者: Mango

删除 sed 中的行 - Shell/Bash

sed 是一种常用的文本处理工具,可以用来编辑文件、替换文本、删除行等操作。本文主要介绍如何使用 sed 删除行。

删除指定行

要删除文件中的某一行,可以使用 sedd 命令,语法如下:

sed 'Nd' filename

其中,N 为待删除的行号,filename 为文件名。

举个例子,删除文件 file.txt 的第 5 行,可以执行以下命令:

sed '5d' file.txt

也可以删除多行,例如删除文件 file.txt 的第 2 行到第 4 行,可以执行以下命令:

sed '2,4d' file.txt
删除匹配的行

如果要删除某些匹配的行,可以使用 sed 的正则表达式匹配功能。例如,删除文件 file.txt 中包含字符串 hello 的行,可以执行以下命令:

sed '/hello/d' file.txt

还可以使用更为复杂的正则表达式,例如,删除文件 file.txt 中以 # 开头的行,可以执行以下命令:

sed '/^#/d' file.txt
直接修改文件

如果要直接修改文件,可以使用 sed-i 选项,例如:

sed -i '3d' file.txt

这条命令将删除文件 file.txt 的第 3 行,并且直接修改文件,不需要再使用 >file.txt 等输出重定向命令。

总结

本文介绍了如何使用 sed 删除文件中的指定行或匹配的行,同时也介绍了如何直接修改文件。熟练掌握这些技巧,可以快速高效地编辑文本。