欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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