6.3.3 数据撷取

简介: 6.3.3 数据撷取

我们可以将输出的数据作一个最简单的撷取,那就是取出文件前面几行 (head) 或取出后面几行 (tail) 文字的功能。 不过,要注意的是, head 与 tail 都是以“行”为单位来进行数据撷取的。

head (取出前面几行)

head这个东西的用法自然显示出一个文件的前几行,没有加上-n这个选项,默认只显示十行,如果只要一行,那就加入“head -n 1 filename ”。


另外那个 -n 选项后面的参数较有趣,如果接的是负数,例如上面范例的-n -100时,代表列前的所有行数, 但不包括后面100行。举例来说 CentOS 7.1 的 /etc/mandb.conf 共有131行,则上述的指令“head -n -100 /etc/man_db.conf” 就会列出前面31行,后面100行不会打印出来了。


tail(取出后面几行)

有head自然就有tail,tail的用法跟head的用法差不多类似,只是显示的是后面几行。默认是显示十行,若要显示非十行,就加-n number的选项。


范例一的内容其实与head -n -xx有异曲同工之妙。当下达“tail -n +100/etc/man_db.conf” 代表该文件从100行以后都会被列出来,同样的,在man_db.conf共有131行,因此第100~131行就会被列出来。 前面的99行都不会被显示出来。


至于范例二中,由于/var/log/messages随时会有数据写入,你想要让该文件有数据写入时就立刻显示到屏幕上, 就利用 -f 这个选项,他可以一直侦测/var/log/messages这个文件,新加入的数据都会被显示到屏幕上。 直到你按下[crtl]-c才会离开tail的侦测。由于 messages 必须要 root 权限才能看,所以该范例得要使用 root 来查询。


例题:假如我想要显示 /etc/man_db.conf 的第 11 到第 20 行呢?答:在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:“ head -n 20/etc/man_db.conf | tail -n 10 ”,这样就可以得到第 11 到第 20 行之间的内容了。


这两个指令中间有个管线 (|) 的符号存在,这个管线的意思是:“前面的指令所输出的讯息,请通过管线交由后续的指令继续使用”的意思。 所以, head -n 20 /etc/man_db.conf 会将文件内的 20 行取出来,但不输出到屏幕上,而是转交给后续的 tail 指令继续处理。 因此 tail“不需要接文件名”,因为 tail 所需要的数据是来自于 head 处理后的结果。


例题:承上一题,那如果我想要列出正确的行号呢?就是屏幕上仅列出 /etc/man_db.conf 的第 11 到第 20 行,且有行号存在?答:我们可以通过 cat -n 来带出行号,然后再通过head/tail 来撷取数据即可!所以就变成如下的模样了: cat -n /etc/man_db.conf | head -n 20 |tail -n 10。

相关文章
|
9月前
数据的压迫
最近有点烦躁,项目上的效益不是很好,所以就开始压缩工时,更多的项目带来的是更短的时间,大家不再能友好的沟通,每个人的身上都或多或少带着戾气. 我有时候也在想为什么会这样,整体环境导致了如今的局面,大家应该一致对外,敢想敢干才是,直到前不久忽然得知一个同学有了更好的发展,薪资的水平是我的三倍还多,我也失衡了,一整夜都在失眠,所以我就想写篇文章,既然是干数据的,那我就把这篇博客叫“数据的压迫”.
27 0
|
11天前
|
存储 数据采集 数据可视化
数据
【6月更文挑战第21天】数据。
15 3
|
2月前
|
数据安全/隐私保护 C++
C++程序中共用数据的保护
C++程序中共用数据的保护
25 2
|
11月前
|
机器学习/深度学习 算法 数据挖掘
灰太狼的数据世界(四)
灰太狼的数据世界(四)
61 0
|
11月前
|
SQL 数据采集 JSON
灰太狼的数据世界(三)
灰太狼的数据世界(三)
49 0
|
11月前
|
存储 算法 数据可视化
灰太狼的数据世界(一)
灰太狼的数据世界(一)
123 0
|
存储 人工智能 缓存
通过数据,你都知道了哪些“原来是这样”的事儿?
在生活中,数据无处不在,有新数据,也有老数据。有1T的数据,也有1P的数据。有文件数据,也有视频数据。通过数据的分析与洞察,我们总能通过数据了解到一些 “原来是这样”的事儿。比如,记账APP会总结自己花费了多少钱,分析钱花在那些地方了。音乐APP会汇总曲库的歌曲自己听了多少次,分析自己喜欢那些类型的音乐。
129 2
|
人工智能 算法 新能源
数据上新啦!
风机检测算法与风机分布数据集上线
数据上新啦!
|
Java 数据库连接 数据库
数据的写入
数据的写入
90 1
|
缓存 Java 数据库
对于某些不会变又经常需要用的数据的处理
本文主要讲对于某些不会变又经常需要用的数据的处理
105 0