更新命令行输出,即进度

2024-04-20

我希望能够在命令行上用简单的 PHP 脚本显示进度表。而不是看到

Progress: 0%
Progress: 1%
etc...

我只想更改号码,并替换以前的号码,就像 git clone 所做的那样Resolving deltas: 100% (8522/8522), done..

在搜索这个时我发现了Perl 中回答了同样的问题 https://stackoverflow.com/questions/5009258/update-command-line-output,这很完美,但我在 PHP 中找不到它。是否可以?如果没有的话我就用C。

Thanks

Update:如果有人对 C++ 版本感兴趣,它在这里 https://stackoverflow.com/questions/60221/how-to-animate-the-command-line.


这可以使用以下方法完成ANSI 转义序列 -- see here http://ascii-table.com/ansi-escape-sequences.php获取列表。

在 PHP 中,您将使用"\033"当它被指示时ESC在那一页上。


在你的情况下,你可以使用这样的东西:

echo "Progress :      ";  // 5 characters of padding at the end
for ($i=0 ; $i<=100 ; $i++) {
    echo "\033[5D";      // Move 5 characters backward
    echo str_pad($i, 3, ' ', STR_PAD_LEFT) . " %";    // Output is always 5 characters long
    sleep(1);           // wait for a while, so we see the animation
}


我简化了一点,确保始终有 5 个额外字符,并且始终显示相同数量的数据,始终向后移动相同数量的字符...

但是,当然,如果需要的话,您应该能够做更复杂的事情;-)

还有许多其他有趣的转义序列:例如,颜色可以大大增强您的输出;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新命令行输出,即进度 的相关文章

  • PDO 库比本机 MySQL 函数更快吗?

    我已经阅读了几个与此相关的问题 但我担心它们可能已经过时 因为自这些问题得到解答以来 更新版本的 PDO 库已经发布 我编写了一个 MySQL 类 它构建查询并转义参数 然后根据查询返回结果 目前这个类正在使用内置的mysql函数 我很清楚
  • 将 XML 数据提取到 php [重复]

    这个问题在这里已经有答案了 我正在尝试从 XML 文件中提取数据 http freegeoip net xml google com http freegeoip net xml google com 您可以看到该文件的内容类似于
  • 如何使用 Vim 和 Eclipse 提高 PHP5.3 项目的工作效率(可能使用 Eclim 与 Zend Studio 集成)

    在开发应用程序时 我总是努力提高生产力 在过去的几年里 我可以说我在提高生产力方面取得了良好的进展 但我仍然发现我需要更多的工具或方法 我需要更快地编辑并学习盲打 目前正在过程中 因此我发现需要转向 Vim 现在已经一年多了 我已经放弃了
  • 在 PHP 中验证约 400MB 的大型 XML 文件

    我有一个很大的 XML 文件 大约 400MB 在开始处理之前我需要确保它的格式正确 我尝试的第一件事是类似于下面的内容 这很棒 因为我可以找出 XML 是否格式不正确以及 XML 的哪些部分 不好 doc simplexml load s
  • 上传非常大的文件(>5GB)

    我需要你的帮助 我想用 HTML JQuery 和 PHP 创建一个上传脚本 是否可以编写一个可以上传非常大的文件 gt 5 GB 的脚本 我已经尝试使用 FileReader FormData 和 Blobs 但即使使用这些 我也无法上传
  • 如何在MySQL选择查询中编写正则表达式?

    我尝试过这个表达 b word w b i比较一个word对照其他单词列表来查找重复项 我用了preg math all 效果很好 我想做同样的事情 但这次检查从 mysql 数据库检索到的单词 这是我写的 SELECT FROM tabl
  • 在 while 循环之外使用变量(作用域)

    关于 PHP 范围的小问题 我似乎无法在 while 循环之外调用变量 report 我尝试过各种事情 包括return 这不起作用 这里唯一起作用的两个函数是如果我echo变量 report在循环内 或者如果我print它 我不想这样做
  • 某些表格后的分页符

    我的问题是 我有一个页面 其中包含几个要打印的 html 表格 有些表有很多行 有些则没有 我想要做的是将第一个和第二个表 大表 打印在单独的页面中 其余表 小表 每页打印两个 如何在我想要的位置放置分页符 我试过 但这会在每个表格后面添加
  • 数组和关联数组合并

    如何实现第三个数组 合并Array1和Array2 在 PHP 中做到这一点的最佳方法是什么 非常感谢 Array2 具有类似索引 键 即 Array1 中 id 的关联值 Array1 Array 0 gt Array id gt 56
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • YouTube 频道 URL 的正则表达式

    如何使用 REGEX 验证 YouTube 频道 URL 我发现了这个模式 但它不能正常工作 http https www youtube com channel user a zA Z0 9 1 谁能帮我 你的问题是之后的额外管道user
  • PHP 计数器在 while 循环中递增

    我在一个 while 循环中增加计数器时遇到问题 基本上我只想在数据库中获取的两个图像链接之间交替 但我的计数器不会增加 我不确定为什么有人可以提供帮助 while row stmt gt fetch PDO FETCH ASSOC img
  • 需要一个正则表达式将 css 类添加到第一个和最后一个列表项

    更新 谢谢大家的意见 一些附加信息 它实际上只是我正在使用的一小部分标记 20 行 目的是利用正则表达式来完成工作 我还能够修改脚本 电子商务脚本 以在构建导航时插入类 我想限制我所采用的黑客数量 以便在更新到软件的最新版本时让事情变得更容
  • PHP date_sun_info 错误时间

    我正在尝试使用 PHPdate sun info函数获取全天太阳某些位置的时间信息 目前我正在使用类似于中的代码文档 http php net manual en function date sun info php sun info da
  • 如何从linux命令行运行.exe可执行文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 Windows 中有一个 abc exe 可执行文件 我可以使用 DOS 命令提示来执行此应用程序 并为其提供一些运行时变量 我想从
  • CMS:将自定义页面存储为文件或 MySQL 数据库中?

    我正在 PHP 中创建一个自定义 CMS 从头开始编写 并且想知道是否应该将用户创建的页面存储为文件或存储在 MySQL 数据库中 内容全部是 HTML 代码 至少目前是这样 我无法决定该做什么 因为用 php 编写文件似乎存在安全风险 并
  • 从字符串中删除第一个和最后一个字符

    我有这个 dataList one two three list explode dataList echo pre print r list echo pre 其输出 gt Array gt 0 gt gt 1 gt one gt 2 g
  • 为什么 strtotime('a') 返回时间?

    我正在 PHP 5 3 中循环遍历 CSV 文件并检查日期 我一直在使用 strtotime 它运行良好 除了我有一个包含 1 或 2 个字符代码的字段 任何单个字符代码上的 strtotime 似乎都像我要求 now 一样 但如果代码是
  • 根据产品属性在 Magento 中创建购物车规则

    我在一个类别中有产品 针 有些以 100 支为一包出售 有些以 500 支为一包出售 盒子中的针数被设置为产品属性 我想根据购物车中的针总数应用购物车规则 F x 如果您购买 1000 2000 根针头 无论 500 100 包的组合如何
  • Woocommerce 中的 Ajaxify 标头购物车项目计数

    我正在为 WordPress 创建一个自定义 woocommerce 集成主题 我在顶部有一个 blob 显示购物车中的商品总数 我想使用 Jquery 更新此 blob 无需重新加载页面 我能够通过获取购物车中的当前数量来增加商品数量bl

随机推荐

  • Rails 3.2.3 无法在 ubuntu 12.0.4 中使用 webrick 在 https 上工作

    一直在尝试在 ubuntu 12 0 4 中使用 webrick 获得一个新的 刚刚创建的 Rails 应用程序来在 ssl 上工作 已经尝试了我所知道的所有可能的方法 尝试使用config force ssl true in 应用程序 r
  • 相对文件路径问题

    我正在开发一个尝试读取配置文件的 portlet 我正在 eclipse 项目中开发它 我目前将配置文件放置在 WEB INF 文件夹 位于 root WEB INF 中 中 其名称为 config properties 如何使用 java
  • node.js - 如何将数组写入文件

    我有一个示例数组如下 var arr 1373628934214 3 1373628934218 3 1373628934220 1 1373628934230 1 1373628934234 0 1373628934237 1 13736
  • 查找 A 中与 B 中没有关联行的行,其中 FK 位于 B 上?

    我一直在做的是 SELECT FROM a LEFT JOIN b ON b a id a id WHERE b id IS NULL 基本上 我试图找到的行a没有关联的b 外键存储在b 这是执行此操作的正确方法 还是有其他类型的连接来执行
  • 使用 getCollection 和 addLevelFilter 列出 Magento 类别,但排除默认根类别

    我使用以下代码来获取集合并使用 addLevelFilter 2 在级别上进行过滤 这会完美地输出第 2 级的所有类别 除了它还会提取列表中的默认根类别之外 我想从视图中排除它 但在查看了所有可用的方法后 我没有看到任何可以帮助我删除 排除
  • 如何在最新版本的 Tensorflow 中使用 MultiVariateNormal 分布

    I need to use the MultiVariateNormal distribution from the tf contrib distributions MultivariateNormal However in the la
  • Backbone.View“el”混淆

    视图应该如何el被处理 必须设置它 否则事件不会触发 请参阅here https stackoverflow com questions 4909564 backbone js why isnt this event bound 但它应该是
  • MySQL - 按 count() 和 GROUP BY 排名

    我有我的 mysql 表posts 我的论坛的所有帖子都存储在其中 就像这样 id uid thread post title text time int int varchar int varchar text int 现在我想显示用户个
  • 使用 3.0 SDK 在 FB 墙上发布

    各位程序员大家好 我在使用新的 Facebook SDK 时遇到了困难 场景是 我使用片段 所以我按照以下步骤操作 为什么 Android Facebook 界面不支持 Fragments https stackoverflow com q
  • xcode 4.5,视图大小在界面生成器中不可编辑

    我从 xcode 4 4 开始我的项目 并且我已经使用界面生成器 使用 xib 文件 创建了几个视图控制器 前几天 我把xcode升级到了4 5版本 今天 我突然发现我可以在界面生成器中修改视图大小了 这是 xcode 4 5 的预期功能还
  • 生产构建中的错误:索引 html 生成失败 [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 升级了角10项目到角12 但现在在运行生产构建时 出现错误 索引 HTML 生成失败 未定义 6 720366 缺少 n
  • Linux Slab 分配器和缓存性能

    来自指南理解Linux内核第三版 第 8 2 10 章 板坯着色 从第 2 章我们知道 同一个硬件缓存行映射许多不同的 RAM 块 在这个 在本章中 我们还看到相同大小的对象最终存储在缓存中的相同偏移量处 不同板内具有相同偏移量的对象将以相
  • 如何使用VSCode远程编辑网站文件?

    我需要能够为我的客户远程登录网络服务器并远程编辑代码 我主要用它来更改 CSS 但也开始使用 PHP 我尝试让远程编辑器工作 但它不会拾取我放置在 home 文件夹中的 remote 文件 这些说明并没有真正提供有关设置的详细信息 我该怎么
  • 当 Flexbox 处于活动状态时,哪些 CSS 规则会被忽略?

    如何配置 Flexbox 以获得良好的后备 假设我有这个 parent display flex flex flow row wrap width 320px border 1px solid black children text ali
  • 使用java从奇怪但有效的url获取域

    我需要从此网址获取主机 android app com google android googlequicksearchbox Pub id siteID java net URL and java net URI无法处理它 问题在于 an
  • 列出包含重复的数字的所有唯一排列的算法

    问题是 给定一个可能包含重复项的数字集合 返回所有唯一的排列 最简单的方法是使用集合 在 C 中 来保存排列 这需要O n log n 时间 有更好的解决方案吗 最简单的方法如下 对列表进行排序 O n lg n 排序后的列表是第一个排列
  • WCF:如何跟踪消息正文?

    我正在尝试诊断在相对简单的服务主机进程 Service exe 中自托管的 WCF 服务 我已这样配置 Service exe config
  • 在 Swift 中“夹住”两个值之间的数字的标准方法

    Given let a 4 2 let b 1 3 let c 6 4 我想知道将这些值限制在给定范围内的最简单 最快捷的方法 例如0 5 这样 a gt 4 2 b gt 0 c gt 5 我知道我可以执行以下操作 let clamped
  • 无法检查 int 是否为 null

    我正在尝试使用字典 每当我想检查字典中是否存在某个元素时 我都会这样做 int value results get aKeyThatMayOrMayNotBePresent if value null 但编译器说我无法比较int to a
  • 更新命令行输出,即进度

    我希望能够在命令行上用简单的 PHP 脚本显示进度表 而不是看到 Progress 0 Progress 1 etc 我只想更改号码 并替换以前的号码 就像 git clone 所做的那样Resolving deltas 100 8522