最近在处理数据的时候,遇到了2G多文件(文本文件)排序问题,刚开始试图通
过现有的文本编辑软件(UE)进行排序,但文件太大,总是报错。
然后想到了Linux中的sort命令,刚开始想先用split命令对文件进行分割,然
后合并。不过,经过试验,sort命令2G的文件直接OK。
sort -n example.txt
对example.txt进行排序,-n选项是按数字序。
当文件很大时,就先分割,分别排序,再合并排序(shell思路):
split -l $lines $1 part_
for file in part_*
do
{
sort $file > sort_$file
}&
done
wait
sort -m sort_* > $2 #没有去重,直接合并多个已排序文件
$1,$2是shell运行时的参数,$1是inputfile,$2是outputfile.