相关疑难解决方法(0)

我们如何使用unix排序更快地排序?

我们正在对包含37个字段的5GB文件进行排序,并使用5个键对其进行排序.大文件由1000个文件组成,每个文件5MB.

190分钟后仍然没有完成.

我想知道是否还有其他方法可以加快排序速度.我们选择unix排序因为我们不希望它耗尽所有内存,所以任何基于内存的方法都不行.

独立排序每个文件的优点是什么,然后使用-m选项合并排序呢?

unix sorting

25
推荐指数
4
解决办法
1万
查看次数

Linux find命令,无论时间跨度如何,递归查找10个最新文件

到目前为止我尝试了什么......

命令:

find . -type f -ctime -3 | tail -n 5
Run Code Online (Sandbox Code Playgroud)

结果:

./Mobilni Telefoni/01. Box Update/05. DC Unlocker Client/dc-unlocker_client-1.00.0857.exe
./Mobilni Telefoni/01. Box Update/39. Z3X Box/01. Update/01. Samsung Box/SamsungTool_12.4.exe
./Mobilni Telefoni/10. Nokia/1. SRPSKI  HRVATSKI  JEZICI/BB5/3xx_Series/Asha 300/06.97/rm781_06.97_ppm_d.rar
./GPS Navigacije/01. Garmin/03. Garmin Other/garmin_kgen_15.exe
./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt
Run Code Online (Sandbox Code Playgroud)

这个输出没问题,如果我把时间跨度放宽,效果不好.(注意我使用-ctime而不是-mtime,因为几年前修改了一些上传的文件)

问题是文件可以每月上传一次,或者一年一次,我仍然需要获得10个最新文件,无论时间跨度如何.

如果无法完成,则tail仅限制输出,或者仅以某种方式获取指定的数字,而不会对大量文件产生巨大的性能影响.

通过在SO上使用来自一个答案的命令,我能够获取文件但是有些文件丢失了......

find . -type f -printf '%T@ %p\n' | sort -n | tail -10 | cut -f2- -d" "
Run Code Online (Sandbox Code Playgroud)

结果:

./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/E2330_OXFKE2.rar
./Mobilni …
Run Code Online (Sandbox Code Playgroud)

linux tail find

22
推荐指数
1
解决办法
4万
查看次数

标签 统计

find ×1

linux ×1

sorting ×1

tail ×1

unix ×1