“progress tee”是一个增强的“tee”程序,它就地覆盖“status”。

ptee的Python项目详细描述


简介

ptee (用于"progress tee")是一个基于 标准unix tee 命令提供的功能。它接受线条 来自正在运行的命令的文本(例如调用 make )并显示 将它们发送到控制台,以便覆盖连续的不太重要的行 到位,提供有关整体运营进度的反馈 不允许更重要的行(例如编译器警告和错误) 卷走被忽略。此外,与标准的T形三通一样, 可以选择将来自stdin的文本逐字写入一个或多个输出 文件,

这些不太重要的行称为"上下文"行,因为它们提供上下文 通向重要的线;更重要的线叫做"常规线" 线.每个新上下文将覆盖 控制台,形成一个"状态"行,在不滚动的情况下保持不变。当A 出现常规行,组成状态行的文本保持不变(即滚动 向上)为常规文本提供上下文。

例如,假设调用 make 生成以下输出:

$ make
gcc -c -Wall -W -o file1.o file1.c
gcc -c -Wall -W -o file2.o file2.c
file2.c:1:12: warning: ‘x’ defined but not used [-Wunused-variable]
gcc -c -Wall -W -o file3.o file3.c
gcc -c -Wall -W -o file4.o file4.c
gcc -c -Wall -W -o file5.o file5.c
gcc -o app file1.o file2.o file3.o file4.o file5.o

编译器调用行( gcc -c .. )在 下一行显示,除非有与之相关的警告或错误 召唤。使用 ptee ,您可以提供一个正则表达式来匹配这些 允许它们在控制台上相互覆盖的"上下文"行。行不 匹配正则表达式将显示在它们自己的行上(沿 上一个上下文行(如果有的话)。在上面的示例中,输出将 最终看起来是这样的:

$ make 2>&1 | ptee --regex '^gcc'
gcc -c -Wall -W -o file2.o file2.c
file2.c:1:12: warning: ‘x’ defined but not used [-Wunused-variable]

上述调用中的 2>;&;1 将stderr重定向到与 stdout,这样stdout和stderr都被导入 ptee 。这是必须的 因为gcc的诊断消息默认会转到stderr。

在运行 make 期间,每行状态都将写入 前一行状态,在保持 从屏幕上滚动太远而产生的有趣的线条。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException