linux管道命令之head与tail

时间:2021-09-26 16:13:35

常常会遇到这样的情况:

1.我训练一个模型需要用到很多图片,这些图片都在一个文件夹下面,但是我想仅仅拷贝个一两张看一下图片的质量怎么样?

2.文件夹下有各种各样的数据,数目非常庞大,我想看一下文件夹下究竟有什么样的文件,仅仅显示前几行就行.

 

常常使用的命令就是ls或者ll,但是一旦数据量非常庞大了之后,ll或者ls会充满整个屏幕,可能会让你眼花缭乱,看不到自己想要的东西

一种解决的办法就是让这些文件的名称用输出流保存到一个txt文件中,然后vim这个文件,仔细看一下,文件夹下有什么内容

比如我的train_perturped文件夹下面有很多文件,ls命令列出来的话可以说是非常耗时而且充满整个屏幕

linux管道命令之head与tail

一种解决办法是将这些文件名称输出到一个txt文件中,如

linux管道命令之head与tail

我们vim上一级目录下的file_name.,txt文件

linux管道命令之head与tail

这个时候可以用vim相关的命令,或者直接用cat命令将file_name.txt中的内容输出结合其他的管道命令进行处理,比如要查找特定的文件,或者随机拷贝几个文件等等

但是这个时候会产生file_name.txt的垃圾文件,所以这种方法并不妥

在鸟哥的linux私房菜中鸟哥详细介绍了grep, cut以及wc等常用的命令,并且在文件与目录管理这一章中也详细的介绍了用head与tail命令进行数据选取,实际上head与tail也是一个管道命令

head最原始的命令是取出一个文件中的前几行,比如

linux管道命令之head与tail

作为i管道命令,如下

linux管道命令之head与tail

用这种命令能够输出当前文件夹下指定数目的图片,但是是从头开始输出的,并不能够随机的显示,

tail命令的作用和head相反,tail是从文件末尾开始输出, 可以对比一下

linux管道命令之head与tail

所以如果想在一个庞大的文件夹下面输出的更随机一些的话,可以这样用

linux管道命令之head与tail

即前10000个的后5个