如何从ruby获取交互程序的进度?
我正在尝试创建一个使用 --progress 参数调用 rsync 脚本的 macruby 应用程序,但 rsync 显示其进度的方式是更改同一行,而不是在其输出中添加新行,那么我如何获取此数据?
I'm trying to create a macruby app that calls a rsync script with the --progress argument, but the way rsync displays its progress is by changing the same line, not adding new lines to its output, so how can I grab this data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Rsync 允许您使用
--log-format
选项更改显示信息的格式:您应该能够将其动态配置为更可用的内容。
此外,如果您使用过
popen3
,您应该能够捕获传输数量的百分比,并使用它来创建您自己的进度条。Rsync lets you change the format of the information being displayed using the
--log-format
option:You should be able to configure it on the fly into something more usable.
Also, you should be able to capture the percent transferred number if you've used
popen3
, and use that to create your own progress bar.您应该使用带有块符号的 IO.popen
you should use IO.popen with block notation