最近遇到的现实问题就是经常需要读取大小超过1G的大文本文件。常规的软件或者方法基本上无能为力。在网上找了好多方法,汇总一下最好的,分享。
1)如果是在windows下读取这种大文件的话,只找到一个叫logviewer的软件。这是一个查看文本日志的软件,能够瞬间打开甚至超过4G的文本文档,并且对内存要求也很小。算得上是极品软件了,唯一的缺点就是只能查看文本文档,但是不能够对文本文档进行编辑。附上下载链接:http://www.uvviewsoft.com/logviewer/。
2)linux下的话,能够用的方法就很多了。不过遗憾的是没找到像logviewer一般的软件,可以瞬间把整个文本文档显示出来。
linux下查看文本文档的命令:
1)head -n filename; 从头开始按行输出文件内容。
例:head -5 filename; 输出文件前5行。
当然如果要把这5行输入到文件里面,而不是直接输出到屏幕的话,可以用
head -5 filename >filename;
2)tail -n filename; 同上,只是从文件末尾开始输出。
例:tail -5 filename; 输出文件最后的5行。
3)sed -n 'h1,h2p'
filename;sed命令,功能很全,甚至支持正则表达式以及grep命令。这里只演示显示特定行。
例:sed -n '1024,1029p' filename; 输出文件的[1024-1029)行。
4)more命令;使用回车换行,空格翻页。
5)wc -l filename; 查看文件的行数;
很有用的命令,有时候需要知道文件到底有多少行,对于大文件的话,基本上不可能用程序一行行统计,这个命令就行,而且速度相当快。
基本上,使用上述4个命令可以在linux下对大文本文档进行任意处理(当然有的时候可能需要配合grep等其他命令)。