实施进度条

时间:2018-05-01 09:21:54

标签: linux bash shell unix

我找到了这个很棒的进度条:Great Example

如何在curl运行时实现此进度条,并在非常大的文件(60GB)上进行排序和唯一等约需3个小时。

示例:count="$(awk '{print $1}' $FILE_NAME | sort -T /diskXX --parallel=$PARALLEL | uniq | wc -l)"

谢谢! 盖

2 个答案:

答案 0 :(得分:1)

使用pv

pv "$FILE_NAME" | awk '{print $1}' | sort -T /diskXX --parallel="$PARALLEL" | uniq | wc -l

或来自以千兆字节为单位的stdin:

pv -s 60g <"$FILE_NAME" | awk '{print $1}' | sort -T /diskXX --parallel="$PARALLEL" | uniq | wc -l

来自man pv

  

pv通过提供时间,完成百分比(带进度条),当前等信息显示管道中数据的进度          吞吐率,传输的总数据和ETA

答案 1 :(得分:0)

一种选择是通过在同一行中打印状态(或进度条)来实现您自己的进度可视化功能(即覆盖该行的先前内容)。

例如,您可以使用&#34; echo -n&#34;在循环中始终打印后台进程的假定运行时百分比(10%,20%,30%)。

编辑:
您可能会发现此question and collection of answers有用。