写shell对1g多的日志做统计,中间那个慢啊,又没有进度显示,万一脚本写错了,等待时间又白费了
现在给大家介绍一个看执行进度的工具—-pv
它可以加入到管道中的任意一层,查看数据的通过量
安装
wget http://pipeviewer.googlecode.com/files/pv-1.1.4.tar.bz2
tar xjf pv-1.1.4.tar.bz2
cd pv-1.1.4
./configure
make
sudo make install
例子
比如下面的脚本
cat hotUser* |awk ‘$1>3{print $2}’|sort|uniq -c|wc -l
我想看看awk输出的速度和sort输出的速度的话:
cat hotUser* |awk ‘$1>3{print $2}’|pv -b -N awk|sort|pv -b -N sort|uniq -c|wc -l
只是在中间加了两级pv而已
运行过程中的输出类似下面这样:
awk: 4.17MB 0:00:07 [ 648kB/s] [ <=> ]
sort: 592kB 0:00:06 [62.1kB/s] [ <=> ]
pv还有很多参数,我觉得最有用的是-s,可以指定估计的总大小,就可以看到百分比了!
参考了这个
http://www.ibm.com/developerworks/aix/library/au-spunix_pipeviewer/?S_TACT=105AGX01&S_CMP=HP
转载 http://blog.webshuo.com/2009/11/09/shell%E5%B7%A5%E5%85%B7-pv-pipe-viewer/