shell的效率有那么低吗?
发表于 : 2011-10-04 2:04
写了一个shell脚本,主要是sed和awk组合,处理一个1W多行的文件
竟然用了5分钟。
是本来shell性能就这样还是可能我写法有问题?
之前一直用java处理文件,想尝试下shell,却遇到这个问题。在这里请教大家下
竟然用了5分钟。
是本来shell性能就这样还是可能我写法有问题?
之前一直用java处理文件,想尝试下shell,却遇到这个问题。在这里请教大家下
尽量只用其中一个主要是sed和awk组合
天哪,你这样不如用 vim 呢。。。。wjjleopard 写了:写了一个shell脚本,主要是sed和awk组合,处理一个1W多行的文件
竟然用了5分钟。
是本来shell性能就这样还是可能我写法有问题?
之前一直用java处理文件,想尝试下shell,却遇到这个问题。在这里请教大家下
python以后有时间会试试的,刚开始觉得shell和linux联系比较紧,所以尝试了下这个cuihao 写了:看你怎么写的了。不过,shell效率是不会有太高。
总之,我觉得尽量用一个命令干更多的事。不要弄个循环,调用几千次相同的命令,那样会很慢。
试试perl、python之类的脚本语言吧。
awk是一门语言?我一直把它当一个命令来看待的……ChenFengyuan 写了:1.awk作为一们语言,完全可以不用shell来调用吧.
2.贴出你的方法.我们来看看有没有地方可以优化
3.shell里面调用sed和awk,我觉得只在一些情况下比较好.一般来说,你调用perl就行了.
4.一般来说调用perl几次来处理.还不如直接用perl写.
5.如果觉得效率低,那就C或者common lisp好了.
附件是我写的脚本ChenFengyuan 写了:1.awk作为一们语言,完全可以不用shell来调用吧.
2.贴出你的方法.我们来看看有没有地方可以优化
3.shell里面调用sed和awk,我觉得只在一些情况下比较好.一般来说,你调用perl就行了.
4.一般来说调用perl几次来处理.还不如直接用perl写.
5.如果觉得效率低,那就C或者common lisp好了.
fnan 写了:算法问题,同一个问题,不同算法会有上百倍的效率差别。
或者把问题贴上来,大家试试把时间减到十秒之内。
那么多 grep 和 awk,还用临时文件,能不慢吗?wjjleopard 写了:fnan 写了:算法问题,同一个问题,不同算法会有上百倍的效率差别。
或者把问题贴上来,大家试试把时间减到十秒之内。
贴上来了,一个文件的行数大概在10000左右
[bash]#!/bin/bashwjjleopard 写了:写了一个shell脚本,主要是sed和awk组合,处理一个1W多行的文件
竟然用了5分钟。
是本来shell性能就这样还是可能我写法有问题?
之前一直用java处理文件,想尝试下shell,却遇到这个问题。在这里请教大家下
样例fnan 写了:数据文件呢?不知道数据结构怎么考虑算法?
不过肯定不需开这么多进程,进程越多越慢。(以前测试从两个各五十万行的文件中找出相同的两行大概要9秒左右)