查看文本文件内容的工具有很多,它们的实现方式和性能各有不同。当我们在大文件或者超大文本文件中查找内容时,考虑到执行效率,我们就要选择合适的方法和工具了。

一、文件大小介绍

英文的字母和标点占用一个字节;中文的汉字和标点占用两个字节。一个字节为1Byte,由8个bit比特位组成。

我们平时说的1M的文件就是1MB的文件,也就是有(1*1024*1024)Byte大小;可以存储一百万多一些的英文字母或者英文标点。

如果我们假设有一个1GB的文件日志,每行日志的长度约500个字母;则我们就有了一个大于两百万行的文件。

二、文件的行数

使用wc命令查看文件有多少行

wc -l filename

三、查看文件的开头

使用head命令查看文件的前几行

head -n filename

四、查看文件的结尾

使用tail名词查看文件的最后几行

tail -n filename

较大文件使用tailf观察写入的内容,运行起来也有些慢。

五、输出指定行的内容

使用sed命令查看文件内容

sed -n '10,10000p' big_logs_file

六、动态加载至内存

使用more命令或者less命令,将大文件中的部分内容加载到内存中。

七、对文件进行分割

ssplit 命令可以将单个大文件,分割为多个小文件。

-a, --suffix-length=N 指定输出文件名的后缀,默认为2个

-b, --bytes=SIZE 指定输出文件的字节数

-C, --line-bytes=SIZE 每一输出文件,单行的最大 byte 数

-d, --numeric-suffixes 使用数字代替字母做后缀

-l, --lines=NUMBER NUMBER 值为每一输出文件的行数

示例:

split -l 5000 big_file

Logo

更多推荐