能用Shell就别编程-海量文本型数据的处理
2016-03-15 18:33
239 查看
对于txt文本类数据,优先采用shell脚本,实在不行才用Python,Java,MySQL
1) Shell命令行或脚本的处理速度极快,比Java快得多。
2) Shell代码量少,几个命令就能完成Python几十行、Java上百行代码的工作,例如 $ cut -f 2 data.txt | sort | uniq -c | head -10000>result.txt这一行就完成了对切分出data.txt的第2列,然后对其排序,统计出各个行出现的次数,去重之后取出前10000行数据,并将这10000行保存在一个新建的result.txt文件里。
3) 内存占用低,尤其对于文件大小以GB论,千万行级别的数据,因为量大,用文本编辑器打开可能会崩溃,只能用Java,Python编程语言写程序读,非常麻烦,如果再做一些复杂的处理,例如去重,分类合并等,Java就直接抛出内存不足的异常了,Python又太慢,而shell命令行可以读取指定数量的行或者全部读取,然后进行其他操作,速度也快。
4) 再者,因为上述三个原因,修改命令行也非常容易,对于前期数据的清洗,简单统计是非常有效的,处理起来也很轻松。
5) 此外,网络、文件、进程、系统安全等方面,Shell都能应对。
总之,能用Shell就别编程,只恨没有早点用上Linux.
1) Shell命令行或脚本的处理速度极快,比Java快得多。
2) Shell代码量少,几个命令就能完成Python几十行、Java上百行代码的工作,例如 $ cut -f 2 data.txt | sort | uniq -c | head -10000>result.txt这一行就完成了对切分出data.txt的第2列,然后对其排序,统计出各个行出现的次数,去重之后取出前10000行数据,并将这10000行保存在一个新建的result.txt文件里。
3) 内存占用低,尤其对于文件大小以GB论,千万行级别的数据,因为量大,用文本编辑器打开可能会崩溃,只能用Java,Python编程语言写程序读,非常麻烦,如果再做一些复杂的处理,例如去重,分类合并等,Java就直接抛出内存不足的异常了,Python又太慢,而shell命令行可以读取指定数量的行或者全部读取,然后进行其他操作,速度也快。
4) 再者,因为上述三个原因,修改命令行也非常容易,对于前期数据的清洗,简单统计是非常有效的,处理起来也很轻松。
5) 此外,网络、文件、进程、系统安全等方面,Shell都能应对。
总之,能用Shell就别编程,只恨没有早点用上Linux.
相关文章推荐
- Linux Shell编程基础
- Hbase快速开始——shell操作
- 静默调用ShellContextMenu 实现QQ文件共享
- shell 获取时间
- 用shell编程实现打印九九乘法表
- linux shell 系列 sed 命令基本用法实例-①set命令选项的应用案例
- -bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file
- 在windows下编辑好Shell脚本,在Linux中运行
- shell 批量删除垃圾数据
- shell【分发系统】
- 一些Linux shell
- 一些Linux shell
- Linux修改Shell命令提示符及颜色
- Linux shell
- Linux shell 脚本小记
- shell命令-read
- linuxshell 系列 sed 命令基本用法
- git bash使用(markdown版)
- windows server 2008 R2服务器无法通过ShellClass获取mp3音乐时长
- 手机离线Monkey测试(shell语言版)