linux 大文件排序、去重
程序员文章站
2024-02-24 12:16:05
...
总体思路,分而治之
- 编写shell脚本
vim sort_bigfile.sh
#!/bin/bash
lines=$(wc -l $1 | sed 's/ .*//g')
let lines_per_file=lines/$3
split -d -l $lines_per_file $1 _part_$1
for file in _part_*
do
{
sort $file > sort_$file
}
done
wait
sort -smu sort_* > $2
rm -f _part_*
rm -f sort_*
- 执行shell, 目标大文件bigfile.txt,最终生成的文件final.txt,切割文件分数30
sh sort_bigfile.sh bigfile.txt final.txt 30
转载于:https://www.jianshu.com/p/62bbb72d6bcf
下一篇: struts2 中文乱码的解决办法分享