Linux命令小技巧:显示文件指定行的内容

简介: Linux命令小技巧:显示文件指定行的内容

工作中会有很多千奇百怪的需求,比如:如何在 Linux 命令行中快速找到某个文件的第 n 行?如何显示从第 x 行到第 y 行之间的内容?

想要实现以上效果,其实有很多办法可以实现。

比如,假如要显示第 13 行内容,可以使用 head 命令组合 tail 命令,如下:

head -13 file_name | tail +13

例如:

head -13 default | tail +13

输出:

或者,使用 sed 命令:

sed -n '13p' file.txt

例如:

sed -n '13p' default

输出:

再比如,显示第 20 行到第 25 行之间的内容,同样使用 head 命令组合 tail 命令,如下:

head -25 file_name | tail +20

例如:

head -25 default | tail +20

输出:

或者使用 sed 命令:

sed -n '20,25p' lines.txt 

例如:

sed -n '20,25p' default

输出:

下面我们详细看看。

使用 head 命令和 tail 命令组合来显示文件的特定行

这个方法是我认为最简单的方法,且经常使用。

打印某一行内容

head 命令和 tail 命令都用于在终端中显示文件的内容。

使用如下语法显示文件中指定的第 x 行:

head -x file_name | tail +x

上述代码中的 x 即为行号,比如上文中提到的例子中要显示第 16 行:

$ head -16 default | tail +16

输出:

关于 head 和 tail 命令,即使对其不熟悉,根据名字也能猜出来,head 命令从文件的开头获取文件内容,而 tail 命令从文件的末尾开始获取内容。

head -x 命令部分,是获取文件的前 x 行,然后将这个结果重定向到 tail 命令,而 tail 命令将显示从第 x 行开始的内容。

所以,上述命令的逻辑就是首先获取文件的开头 13 行内容,然后在从其第 13 行开始到最后的所有内容,很显然获取的就只有第 13 行这一行。

获取指定范围的行

现在我们使用 head 和 tail 组合命令来显示某一范围的内容。

要显示文件的第 x 行到第 y 行(同时会包含第 x 行和第 y 行),可以使用如下语法命令:

head -y file_name | tail +x

比如,假如我们要打印文件中第 30 行到第 35 行中的内容,如下代码:

$ head -35 default | tail +30

输出:

使用 sed 命令显示文件中的特定行

使用 sed 命令,可以有多种打印特定行内容的方法。

比如,要显示文件的第 10 行,可以使用如下方式:

sed -n '10p' file_name

如果要打印从第 x 行到第 y 行,可使用如下方法:

$ sed -n '5,15p' default 

输出:

使用 awk 命令打印文件中的指定行

awk 命令可能看起来比较复杂,使用它需要有一个学习的过程。但与 sed 一样,awk 在编辑和操作文件内容方面功能很强大。

使用 awk 查看文件的第 n 行,可参考如下代码:

$ awk 'NR==6' default

输出:

上述代码会显示文件的第 6 行,NR 表示“当前记录编号”。

打印从 x 行到第 y 行,可使用如下方式:

$ awk 'NR>=30 && NR<=35' default 

输出:

其语法与大多数编程语言的语法类似。

怎么样,总体是不是很简单?还等什么,赶快一个一个命令敲起来吧!

目录
相关文章
|
28天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
104 16
|
20天前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
|
2月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
399 0
|
2月前
|
安全 Linux Shell
Linux系统中sudo命令的高效运用技巧。
用户可以通过sudo -l来列出自己目前可执行的命令列表,这有助于用户了解自己的权限范围。
123 0
|
2月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
987 0
|
Shell Linux Perl
65Linux - RPM 命令参数使用详解
65Linux - RPM 命令参数使用详解
174 1