如何在Linux命令行的文件中找到第n行?如何显示行号x到行号y?
在Linux中,有几种方法可以达到相同的目的。从文件中打印特定行也不例外。
要显示第13行,可以使用头部和尾部的组合:
head -13 file_name | tail +13
或者,您可以使用sed命令:
sed -n '13p' file.txt
要显示从20到25的行号,可以将head和tail命令组合如下:
head -25 file_name | tail +20
或者,您可以使用sed命令,如下所示:
sed -n '20,25p' lines.txt
示例:接下来是每个命令的详细说明。我还将展示为此目的使用awk命令。
1、使用head和tail命令显示特定的行
这是我最喜欢的显示选择线的方式。我发现它更容易记住和使用。
2、打印单个特定行
在以下功能的行号x中使用head和tail命令的组合:
head -x file_name | tail +x
您可以将x替换为要显示的行号。因此,假设您要显示文件的第13行。
head -13 lines.txt | tail +13
说明:您可能已经知道head命令从头开始获取文件的行,而tail命令从头开始获取文件的行。
该命令的“head -x”部分将获取文件的前x行。然后它将把此输出重定向到tail命令。tail命令将显示从行号x开始的所有行。
很显然,如果从顶部开始走13行,则从数字13到末尾的行将是第13行。这就是该命令的逻辑。
3、打印特定范围的行
现在,让我们结合使用head和tail命令来显示多于一行。
假设您要显示从x到y的所有行。这还包括第x和yth行:
head -y lines.txt | tail +x
让我们举一个实际的例子。假设您要打印从行号20到25的所有行:
head -25 lines.txt | tail +20
4、使用SED显示特定行
强大的sed命令提供了几种打印特定行的方法。
例如,要显示第10行,可以按以下方式使用sed:
sed -n '10p' file.txt
-n禁止输出,而p命令打印特定行。
要显示从行号x到行号y的所有行,请使用以下命令:
sed -n '3,7p' lines.txt
5、使用AWK打印文件中的特定行
awk命令可能看起来很复杂,而且肯定涉及学习曲线。但是与sed一样,awk在编辑和处理文件内容方面也非常强大。
$ awk 'NR==5' lines.txt
NR表示“当前记录号”。
要显示从x到y的所有行,可以按以下方式使用awk命令:
awk 'NR>=20 && NR<=25' lines.txt
它遵循与大多数编程语言相似的语法。
我希望这篇快速的文章可以帮助您在Linux命令行中显示文件的特定行。
A5互联https://www.a5idc.net/