Linux 从动态更新命令行应用程序中删除数据
我想从程序intel_gpu_top获取一些数据,它会像top或nethogs一样动态更新其输出Linux 从动态更新命令行应用程序中删除数据,linux,bash,Linux,Bash,我想从程序intel_gpu_top获取一些数据,它会像top或nethogs一样动态更新其输出 intel_gpu_top | grep render 显示适当的线,但这些线仍在原地更新。从那以后,我再也不能把电话发到别的地方了。比如: intel_gpu_top | grep render >> output_lines.txt 不起作用。有时,一行的一个片段会在文件中结束 如果这是一个正常情况下写入控制台的命令,我只会执行以下操作 intel_gpu_top | g
intel_gpu_top | grep render
显示适当的线,但这些线仍在原地更新。从那以后,我再也不能把电话发到别的地方了。比如:
intel_gpu_top | grep render >> output_lines.txt
不起作用。有时,一行的一个片段会在文件中结束
如果这是一个正常情况下写入控制台的命令,我只会执行以下操作
intel_gpu_top | grep render | awk ...
我希望能够复制这个功能
另外,我不认为我的问题是特定于intel_gpu_top的,我认为无论有什么解决方案,都应该适用于类似的程序,如top和nethogs
任何帮助都将不胜感激
我也希望能够在python中实现这一点。但是我只能使用bash。我没有英特尔GPU图形卡可以试用,但是从手册页:
Options
-s [samples per second]
number of samples to acquire per second
-o [output file]
collect usage statistics to [file]. If file is "-", run non-
interactively and output statistics to stdout.
因此,也许可以尝试使用
-o
?我不知道具体的包,但它可能依赖于一个操纵stdout/stderr的库来提供动态输出,例如curses
库。从重定向的角度来看,任何时候正在写入的内容和正在清除的内容都可能是不明确的。将输出写入文件(intel\u gpu\u top>file
)并将其上载到某个位置以进行更详细的分析。然后检查程序选项top
has“以“批处理”模式启动top,这可能有助于将top的输出发送到其他程序或文件。”也许你也有类似的情况…@Cyrus,过去几天,已有用户对所有问题进行了大量修改,这是怎么回事。有人悬赏了吗?在过去的24小时里,我看到了数百个通常不会发生的额外编辑。Leffler昨晚可能有100多个?@DavidC.Rankin:对不起,我不知道发生了什么。事实上,使用-o-
然后像往常一样使用重定向和解析从标准输出进一步选取输出…:)