开发者社区 问答 正文

mac怎么在终端中输入某个脚本执行的进度百分比?

在mac 的“终端.app”中,我有一个ruby脚本想让我的脚本输出的结果信息只在一行显示,同时在行尾显示“1%~100%”例如:
【##########】50% 请问有什么方法呢?我的脚本意思是删除某个目录中的所以文件。最主要的是怎么实现这个显示方式.谢谢

展开
收起
a123456678 2016-06-16 10:30:45 2944 分享 版权
2 条回答
写回答
取消 提交回答
  • (1..100).each do |i|
    printf "r%s", "[" + "#" i + "s" (100 - i) + "]" + "(#{i}/100)"
    sleep1
    end
    $stdout.flush

    2019-07-17 19:40:26
    赞同 展开评论
  • 方法1:python代码,翻译为ruby应该很简单吧。

    import sys, time
    
    def status(percent):
        sys.stdout.write("%3d%%\r" % percent)
        sys.stdout.flush()
    
    for i in range(100):
        status(i)
        time.sleep(1)

    方法2:
    输出b可以删除前一个字符。
    比如输出1b2b3

    2019-07-17 19:40:26
    赞同 展开评论
问答分类:
问答标签:
问答地址: