Linux 从动态更新命令行应用程序中删除数据

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获取一些数据,它会像top或nethogs一样动态更新其输出

 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-
然后像往常一样使用重定向和解析从
标准输出进一步选取输出…:)