600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 在内存储器小于文件大小的情况下 大文件中快速查找定位一行

在内存储器小于文件大小的情况下 大文件中快速查找定位一行

时间:2020-05-06 20:15:30

相关推荐

在内存储器小于文件大小的情况下 大文件中快速查找定位一行

后端开发|php教程

nbsp,file,ABC,awk,large

后端开发-php教程

在内存小于文件大小的情况下,大文件中快速查找定位一行

比如有一个文件

ABC 56

DEF 100

RET 300

网页游戏源码购买,修改vscode的字体大仙,ubuntu 镜像 阿里,宝塔面板部署tomcat,爬虫馆蛇,php后台一句话,珠海seo推广的优势是什么,文章交易网站源码lzw

文件有2列,第一列都是不重复的,第2列表示次数(当成一个数字就行了)。

.net外卖跑腿源码,ubuntu上网有问题,tomcat中间件最新漏洞,电梯口爬虫,php分布式秒杀系统,疯狂seo论坛lzw

如果文件大小为2G或者更大,内存只有1G的情况,如何快速定位到“ABC 56” 这一行。

开源的商城系统源码下载,ubuntu 如何打断点,tomcat8.5运行乱码,存放爬虫文件,PHP会话防抓包,SEO伪原lzw

请大拿们给个清晰点的解决方法。

内存 大文件

分享到:

——解决方案——————–

fopen,再fscanf。

一次读一行就好啊。内存不会成为限制因素的。

——解决方案——————–

建hash表的话,岂不是要先对文件的内容进行hash?

可以用其他的工具来处理,未必一定要用算法。

比如awk:

awk ‘/ABC\t56/{ print NR}’ file

可以获取匹配行的行号。

建议lz说下具体的需求,如果仅仅是获取行号的话,方案很多。

但是如果还有其他需求的话,类似awk这么做未必是最佳方案。

——解决方案——————–

那你不也得先一行一行读出来再哈希吗?

嫌一行一行读太慢,可以一块一块读

是的读块 比较符合你的需求

——解决方案——————–

楼主可参考:

/blog/archives/php-read-large-file/

/php-large-file-read-operation.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。