使用AWK来估计您下次出块还需要多久? (SteemIt)


unix-where-there-is-a-shell-there-is-a-way 使用AWK来估计您下次出块还需要多久? (SteemIt) I.T. LINUX SteemIt 程序设计

unix-where-there-is-a-shell-there-is-a-way

上次我们用了一个LINUX命令AWK 结合管道来显示STEEMIT每次出块的间隔和时间:

docker logs [你的容器ID] | grep "Generated" | awk '{cur=substr($8,2);if (NR>1){print "blocks=",cur-prev," hours=",(cur-prev)*3/3600}prev=cur;}'

今天我们稍微修改一下, 这样就能显示每次出块的时间, 还有距离上次的块数和小时数. 并且在最后显示距离下次出块大约需要多少时间(这是根据你最近一次出块需要时间和已经过去多久计算而得的)

当然, 你需要安装 gawk, 这是awk 的GNU版本, 安装(sudo apt-get install gawk)后 命令awk则回通常被链接到 gawk

完整的命令如下:

docker logs [容器ID] | grep "Generated" | gawk -v date="$(date +"%Y-%m-%d-%H-%I-%S")" '{cur=substr($8,2);if (NR>1){print $11,"blocks =",cur-prev," hours =",(cur-prev)*3/3600}last=(cur-prev)*3/60;prev=cur}END{gsub(":", "-",$11);gsub("T","-",$11);split(date,a,"-");split($11,b,"-");t1=mktime(sprintf("%d %d %d %d %d %d 0",a[1],a[2],a[3],a[4],a[5],a[6]));t2=mktime(sprintf("%d %d %d %d %d %d 0",b[1],b[2],b[3],b[4],b[5],b[6]));mins=last-(t1-t2)/60;print "Your next block to produced roughly in",mins,"Minutes.","(",mins/60,"Hours)"}'

效果如下:

docker-steemit-view-blocks 使用AWK来估计您下次出块还需要多久? (SteemIt) I.T. LINUX SteemIt 程序设计

docker-steemit-view-blocks

我们可以把上面的命令存成脚本, 然后 chmod +x view.sh

支持我, 投我为见证人, 感谢! .

SteemIt 见证人贴: 投行长为见证人, 带领CN社区一起脱贫致富!

英文: AWK Tutorial: When are you expected to produce your next witness block? (STEEMIT)

GD Star Rating
loading...
本文一共 203 个汉字, 你数一下对不对.
使用AWK来估计您下次出块还需要多久? (SteemIt). (AMP 移动加速版本)
上一篇: 使用AWK来看见证人生成块的速度
下一篇: 用异步来提高性能 (SteemIt)

扫描二维码,分享本文到微信朋友圈
1326ff8622ee3c69b86a8027eecf74a1 使用AWK来估计您下次出块还需要多久? (SteemIt) I.T. LINUX SteemIt 程序设计

评论