linux 大文件排序、去重

总体思路,分而治之

  • 编写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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,146评论 0 10
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 9,970评论 0 16
  • 命令行的艺术 前言 基础 日常使用 文件及数据处理 系统调试 单行脚本 冷门但有用 仅限 OS X 系统 仅限 W...
    进击的诺基亚阅读 9,235评论 0 19
  • 本文转自于: 本站(SimonSu’Blog)欢迎各类网站交换链接。只要你的站点有特色,不是垃圾采集站都可以。需要...
    小沭阅读 14,178评论 2 14
  • 我常告诫自己,做当下该做的,不要质疑“去做”的选择。总担心自己反复思考,有了质疑,会没了做事的勇气。我这个年...
    阿逾阅读 3,499评论 0 0