我有一个命令可以创建非常详细的输出,大约每秒数百行。但是,该命令用于\r
以类似于进度条的方式覆盖前一行输出。有时它会向终端写入换行符,这会“烘焙”当前的输出行。
当将此输出重定向到文件时,我得到数百兆的输出 - 每行都被写入文件,而不是在发生回车时被“覆盖”。
我知道这是预期的行为,解决这个问题的一种方法是使程序更智能,并意识到它被重定向到文件而不是打印此交互状态。但是,我无法修改这个程序。
有什么方法可以管道/过滤此输出,以便最终输出文件中的内容与在终端上交互式运行它时看到的内容相同?
我试过了:
spammy_cr_command | uniq
...其输出与没有相同uniq
并且:
spammy_cr_command | sed '/\r/d'
...这也删除了包含换行符的“烘焙”行。