Linux系列5 | 更加优雅的查看文件内容

“ 作为数据分析人员,我们常常要面对很大的样本数据集,而我们拿到数据以后只想看看数据的一部分内容,该如何是好呢?。”
首先给出上一篇文章末尾的留下的习题的答案,非常的简单,相信大家都有了自己的答案,

# 回家
cd ~
#建立文件夹pra
mkdir pra
# 在pra文件夹里建立文件file1 file2
vim file1
# 在file1中写入内容
# 按下I进入插入模式 写好以后按esc,然后shift+:
# 然后wq保存退出
vim file2
# 其它操作同file1

# 输出file1的内容并添加行号
cat -n file1
# 输出file2的内容但是对空行不编号
cat -n -b file2
# 删除pra文件夹以及文件夹内的所有内容
cd ~ 
rm -rf pra

上一篇文章中,我们学会了创建文件夹和创建文件,修改文件等等操作,但是我们在日常使用中常常不需要整个文件的输出进行查看,而使用vim查看又觉得不必这样大费周章。

对于生信人员来说,更有可能是面对的超大数据集,你不可能因为想看看前几行或者后几行就直接把整个数据集都打开吧,所以这就需要我们万能的Linux给我们提供的几个非常好用的文件查看命令,head,tail,less,more,非常的简单快捷,也是Linux中最常用的命令系列。

查看文件的开头 - head

我们在做数据的处理过程中,常常会输出非常大型的文件,可能有好几百M的表格数据,或者好几个G的行数据或者表数据以及更大的数据。这个时候如果我们想看一看数据的前几行来了解一下数据的全貌或者格式,我们应该怎么操作呢?这个时候就要用到我们的head命令了。

head:用于查看文件的开头部分的内容

上个案例来看一看,

# 如果你有可操作的数据的话可以跳过这一步
# 复制passwd文件到当前位置
cp /etc/passwd passwd.bak
# 使用head命令查看前十行
head passwd.bak

head命令默认是输出前十行进行查看的,但是我们有的时候不想看前十行,我们就要看前三行怎么办呢?

不要紧,我们的head命令考虑到了这个问题,它有个-n参数可以指定查看前特定行数的行

# 查看前三行
head -n 3 passwd.bak
# 查看前五行
head -n 5 passwd.bak

除了可以显示行数,head命令使用-c参数也可以显示前几个字节的内容,

# 显示前5个字节
head -c 5 passwd.bak

不过日常使用中,我们用的最多的就是head以及它的-n参数,所以我们一定要牢牢记住这条命令哦!

显示文件的末尾n行 - tail

日常对文件的查看中,我们除了会看一看文件的开头,也经常看看文件的结尾部分,而head命令只能查看文件的开头行,那么我们想查看文件的结尾行就需要另一条命令 - tail了。

tail:用于查看文件的末尾几行,最常用的-f参数可以查看不断更新的末尾行

下面给出一个案例

# 查看文件的末尾行 默认显示后10行
tail passwd.bak
# -n参数用于显示后n行
tail -n 3 passwd.bak

是不是使用起来很简单呢,下面着重讲解一下-f参数,这是一个非常有用的参数,尤其是查看各种日志文件以及运行中有输出的文件,比如你nohup了一个命令,然后你想看看运行的怎么样了,你就可以使用-f参数进行查看,并且每有新的输出的时候,它都会自动更新出来,知道你ctrl+C终止tail命令的运行。

# 使用-f参数
tail -f passwd.bak
image.png

这个时候如果passwd文件更新了末尾行,就会自动打印出来,让你随时了解运行情况,最常见的就是我们使用wget -b的时候查看下载情况了。

当你不想看的时候,按下ctrl + C就可以退出tail了。

随意浏览文件 - less和more

上面的两条命令都是只能查看文件的开头或者结尾,而我们平时还会有想浏览全文的时候,或者一页一页浏览我们的文件的需求,这样我们的head和tail命令就无法实现了,就需要引出我们的后一组命令 - less和more了。

more:输出文件内容,并且以一页一页的形式显示,更方便使用者逐页阅读。
less:随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

这两条命令其实非常相似,more相当于加强版的cat,而less相当于加强版的more,我个人日常使用最多的是less命令,非常好用,也会着重讲解less的。

首先讲解一下more命令吧,这个命令比较简单,展示一下大家就明白了

# 按页查看文件 此处使用了我自己的文件 大家可以尝试查看自己电脑比较大的文件
more GSM17_1m.mat
图片

这个时候我们会进入这个界面,我们这个时候最常用的操作有三种

Enter:向下滚动1行
空格:向下翻动一页
q:退出more命令

大家自己尝试一下就明白了,其实more还有很多其它的操作,我个人觉得不如less好用,所以就不书写了,大家感兴趣可以自己查一查。

接下来讲解一下less命令,我认为这是最好用的文件查看命令了,

# 查看文件
less GSM17_1m.mat

Enter 空格和q命令都同more命令,此处重点提一下less具有向上滚动的功能,即我们按下b的时候会向上进行滚动一页(Pgup和PgDn据说也可以)

下面讲解一下less命令的重点参数

# -N参数 显示行号
less -N passwd.bak
image.png

然后使用-S的时候可以将太长的行放在文件的后面,按下左右箭头进行查看

less -N GSM17_1m.mat
less -SN GSM17_1m.mat
图片

图片

相信大家看到了图片就应该知道是怎么回事了吧。

下面在讲一个比较常用的操作,查找操作。大家都看到左下角的小冒号了吧,是不是有种看到vim的感觉了呢,不过less命令不具备编辑能力,但是这里也是可以输入命令的,此处主要讲查找的命令。

# 向上搜索
?2015
# 向下搜索
/2015
图片

文件中只有一个2015,此时我们向下搜索,在下面:之后输出 /2015 回车以后就会搜索到了

图片

less会自动给我们进行加一个底色。

向上搜索也是基本一样的操作,此处就不在演示了。

今天的命令都非常的简单,就不留什么练习了,大家感兴趣的话自己找linux的文件试一试。另外可以看看关于less的其它选项,有些操作也是非常有用的,但是篇幅显示,没办法展开进行讲解。

下面一节课将给大家讲解Linux中非常常用的两个操作,压缩与下载,对于大家来说应该也是必备的两个操作了。

如果你喜欢我的文章,请收藏我的文章并且给我个赞,你的支持就是我更新的最大的动力,关注我会有更多惊喜哦,专注于生物信息学以及数据分析入门和进阶教程,也许我给不了你从10-100,但是我可以给你最好的从0-10!

最后,关注我的公众号,领取更多学习资料吧!!!

打开v搜索,”轻松玩转生信“或者从下面文章进去获取二维码关注哦

二维码传送门

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容