📅  最后修改于: 2023-12-03 15:29:35.381000             🧑  作者: Mango
n
行在使用 Linux 终端时,经常需要查看文件的最后几行内容,特别是当文件较大时。本文介绍如何使用 Bash 命令在终端中打印文件的最后 n
行。
tail
命令打印最后 n
行tail
命令用于显示文件的末尾内容,可以使用 -n
参数指定要显示的行数。例如,要显示文件 example.txt
的最后 10 行内容,可以运行以下命令:
tail -n 10 example.txt
如果要显示文件的最后 20 行内容,只需将 -n
参数的值更改为 20:
tail -n 20 example.txt
tail
在 Shell 编程中,通常使用管道符号将多个命令连接起来,以便从先前的命令中获取输出并将其传递给下一个命令。在这种情况下,可以使用管道符号将 tail
命令插入其他命令中,以将输出限制为所需的行数。
例如,要查找包含特定关键字的文件的最后 5 行内容,可以使用 grep
命令来搜索文件并将结果传递给 tail
命令:
grep "关键字" example.txt | tail -n 5
sed
命令打印最后 n
行除了 tail
命令外,sed
命令也可以用于打印文件的最后 n
行。具体来说,可以使用以下命令打印文件 example.txt
的最后 10 行:
sed -n -e :a -e '1,'$((10+1))'!d;N;ba' example.txt
上述命令使用两个 -e
选项指定了两个 sed
命令,第一个命令将标记 :a
插入到模式空间中,第二个命令将删除除最后 10 行之外的所有行。第三个和第四个命令向模式空间中添加和合并行。最后,将 example.txt
作为输入传递给 sed
命令。
以上是 Bash 中打印文件最后 n
行的几种方法。在实际使用中,可以根据具体情况选择最适合的方法。tail -n
命令适用于查看文件的最后几行内容。如果要在管道中使用,可以结合其他命令使用。当需要使用 Shell 脚本编写功能更复杂的程序时,sed
命令可能更为实用。