当前位置: 首页 > news >正文

Linux 命令:head

1. 写在前面

本文主要介绍 Linux head 命令:可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

关注 公众号 获取最新博文: 滑翔的纸飞机

2. head 命令

head 命令的基本语法是:

head [OPTION]... [FILE]...

示例准备两个文件:state.txt 和 capital.txt,包含国家和城市名称。文件可参考上篇博文,本文在 Ubuntu 系统下验证,上篇博文在 Mac 系统验证,部分参数存在差异,具体可 man head/tail 查看;

默认,不带任何选项,只显示指定文件的前 10 行。

例如:

root@dev:~/linux/head# head state.txt
---------------------------------------------------
China
Mongolia
North Korea
South Korea
Japan
Philippines
Vietnam
Laos
Cambodia
Myanmar

参数:

参数描述
-n显示的行数
-c显示的字节数
-q隐藏文件名
-v显示文件名

2.1 示例

(1)-n num 显示文件前 num 行内容

必须在命令中指定 “num”,否则会显示错误。

root@dev:~/linux/head# head -n 5 state.txt
---------------------------------------------------
China
Mongolia
North Korea
South Korea
Japan

(2)-c num 显示指定字节数

打印指定文件前 "num"字节。换行符算作一个字符,因此如果 head 打印出一个换行符,它将算作一个字节。

root@dev:~/linux/head# head -c 6 state.txt
---------------------------------------------------
China

(3)-q 不输出文件名

如果给出的文件超过 1 个,则使用该命令。使用该命令时,每个文件中的数据前面都没有文件名。

不使用 -q 选项:输出文件名;

root@dev:~/linux/head# head state.txt capital.txt
---------------------------------------------------
==> state.txt <==
China
Mongolia
North Korea
South Korea
Japan
Philippines
Vietnam
Laos
Cambodia
Myanmar==> capital.txt <==
Beijing
Shanghai
Guangzhou
Shenzhen
Tianjin
Hong Kong
Nanking
Macau
Tibet
Sian

使用 -q 选项:不输出文件名;

root@dev:~/linux/head# head -q  state.txt capital.txt
---------------------------------------------------
China
Mongolia
North Korea
South Korea
Japan
Philippines
Vietnam
Laos
Cambodia
Myanmar
Beijing
Shanghai
Guangzhou
Shenzhen
Tianjin
Hong Kong
Nanking
Macau
Tibet
Sian

(4)-v 以文件名开头

使用该选项后,指定文件中的数据总是以文件名开头。

root@dev:~/linux/head# head -v state.txt
---------------------------------------------------
==> state.txt <==
China
Mongolia
North Korea
South Korea
Japan
Philippines
Vietnam
Laos
Cambodia
Myanmar

(5)打印 M 行和 N 行之间的行(M>N)

为此,我们使用 headtail 和 pipeline(|) 命令。命令为:head -M file_name | tail +N,因为 head 命令会先打印 M 行,然后从 M 行开始,tail 命令会从 +N 开始剪切行,直到最后一行;

我们也可以使用 head -M file_name | tail +(M-N+1) 命令,因为 head 命令会先打印 M 行,然后从 M 行开始,tail 命令会从最后一行剪切 (M-N+1) 行。例如,我们要打印 state.txt 文件中 10 到 20 行之间的内容。

root@dev:~/linux/head# head -n 20 state.txt | tail -10
---------------------------------------------------
Thailand
Malaysia
Brunei Darussalam
Singapore
Indonesia
East Timor
Nepal
Bhutan
Bengal
India

(6)pipeline(|) 使用 head

head 命令可以与其他命令进行管道连接。在下面的示例中,ls 命令的输出被管道输送到 head,以只显示最近修改的三个文件或文件夹。

显示所有最近修改或最近使用的文件:

root@dev:~/linux/head# ls -t
---------------------------------------------------
d.txt  c.txt  b.txt  a.txt  capital.txt  state.txt

输出最近使用的三个文件:

root@dev:~/linux/head# ls -t | head -n 3
---------------------------------------------------
d.txt
c.txt
b.txt

还可以与一个或多个过滤器进行管道连接,以进行额外处理。例如,排序过滤器可用于按字母顺序对最近使用的三个文件或文件夹进行排序。

root@dev:~/linux/head# ls -t | head -n 3 | sort
---------------------------------------------------
b.txt
c.txt
d.txt
感谢您花时间阅读文章!
关注公众号不迷路!
http://www.lryc.cn/news/362609.html

相关文章:

  • 系统安全及其应用
  • 韩文图片文字识别,这几款软件轻松驾驭韩语文本
  • 登录安全分析报告:小米官网注册
  • LVS精益价值管理系统 LVS.Web.ashx SQL注入漏洞复现
  • 【JavaScript脚本宇宙】图表库大盘点:选择最适合你的工具
  • 【Lua】IntelliJ IDEA 写注释或选中变量单词时偶尔会选中相邻的内容或下一行内容
  • 安全风险 - 组件导出风险
  • 【HarmonyOS】应用振动效果实现
  • springCloud中将redis共用到common模块
  • 基于jeecgboot-vue3的Flowable流程-待办任务(三)
  • 如何让Google快速收录?
  • History 模式和 Hash 模式路由的区别、优缺点及在开发生产环境中的注意事项
  • 63. UE5 RPG 兼容没有武器的普通攻击
  • 【Vue】成绩案例
  • 深度学习 - PyTorch简介
  • MySQL:CRUD进阶(七千五百字)
  • 与C共舞:让编译更顺滑(2)
  • Go 群发邮件Redis 实现邮件群发
  • 夕小瑶:资本寒冬下的AI创业一年
  • [JAVASE] 异常 与 SE阶段知识点补充
  • 可视化数据科学平台在信贷领域应用系列一:数据探索
  • SpringBoot发送Gmail邮件
  • 【小海实习日记】金融-现货以及合约理解
  • html 添加元素如何能提升速度
  • 人工智能大模型的进化之路:探索如何让它们变得更“聪明”
  • 【设计模式深度剖析】【6】【结构型】【外观模式】| 以电脑开关按钮为例,并结合微服务架构的API网关加深理解
  • 2024拼多多 最新理论+实战干货,从入门到精通全链路多角度学习-7节课
  • 在Three.js中实现模型点击高亮:整合EffectComposer与OutlinePass的终极指南
  • Webrtc支持HEVC之FFMPEG支持HEVC编解码(一)
  • 高校实验室危险化学品及重大危险源安全管理系统