📜  sed 删除最后 3 行 - Shell-Bash (1)

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

使用'sed' 删除最后 3 行

在Shell-Bash编程中,经常需要对文本文件进行操作,其中删除最后几行是一种常见的需求。可以使用'sed'命令轻松实现这一操作。

'sed'命令

'sed'命令是一款强大的文本处理工具,它可以对文本进行替换、删除、搜索等多种操作。在此我们重点介绍如何使用'sed'删除最后几行。

删除最后 3 行

要删除最后 3 行,可以使用以下命令:

sed -i 'N;N;N;$!P;$!D;$d' filename

其中,'filename'是要操作的文件名。该命令将读取文件内容,并对其进行修改,因此必须加上'-i'选项以实现原地修改。

在该命令中,'N'表示读取下一行,并将其添加到模式空间中。'P'表示打印模式空间中的第一行,'D'表示删除模式空间中的第一行。'$d'表示删除模式空间中的最后一行。

该命令的意思是:读取下一行,将其添加到模式空间中,重复 3 次;最后在读取到最后一行时,打印所有未删除的行,删除最后一行。

注意事项

需要注意的是,当文件行数小于 3 行时,该命令不会删除任何行。同时,该命令无法将文件末尾的空行删除。

总结

'sed'是一款强大的文本处理工具,可以对文本进行多种操作。本文介绍了如何使用'sed'删除最后几行,并介绍了该命令的应用场景和注意事项。对于Shell-Bash编程爱好者来说,'sed'是一个不可缺少的工具,希望本文能对大家有所帮助。