现有一个 Linux ,安装有 minio ,存储在 XFS 文件系统下。我现在想找到某个 minio 存储路径下的若干子文件里最大的是哪几个文件? 文件总数未知,单个文件大小约为 1M~10M 级,初步估算的文件数量约为百万到千万级个。 find 后 sort 排序是基本不可能的了,我该怎么操作?
1
devopsdogdog 114 天前 via Android
😂你就不能记录下来然后再去排序,或者多次分割后取数?
|
2
hello2090 114 天前
TopK 优先级队列 线性复杂度
|
3
GeekGao 114 天前
使用 Python 的 os.walk() 函数和 yield 生成器递归遍历吧,写个简易统计程序。
|
4
ArmsZ 114 天前
程序员代码面试指南(第 2 版)值得你一看
|
5
NoOneNoBody 114 天前
除非你之前有安装一些记录文件位置的工具(类似 windows everything ),不然总要实时搜磁盘
如果之前有安装定位工具,且有记录文件信息如字节数等,那参考该工具的手册,这样搜数据库比搜磁盘快 python pandas 排序应该也很快,因为只有路径和字节数两个字段,只是前面递归获取全部路径比较慢 总的来说,瓶颈在于是实时搜磁盘,还是从定位工具搜数据库 |
6
MoYi123 114 天前 1
find + sort 为什么不行, 这不是最简单的办法吗?
|
8
me1onsoda 114 天前
能把每个文件大小都记录下来就简单了,搞个大顶堆
|
9
doraemonki 114 天前 via Android
帮你把代码写好了 golang ,https://codecopy.cn/post/ez6qqh
|
10
sn0wdr1am 108 天前
记录到数据库,查询数据库。
|
11
kokerkov 107 天前
有 GUI 吗? filelight
|
12
webs 106 天前
你 find 时,带个文件最小大小的参数,数据量不就小很多了嘛,再 sort 一下,整个过程也就耗时 6s 以内,
https://infras.cn |