此线程是此thread的扩展,其中中断(CTRL-c)将数据传输停止为更少。
我想创建一个类似的系统监控数据转换,如fdupes
中所示。
我认为这可以通过GNU screen
来实现。
可能不需要工具tee
和buffers
,因此如果您愿意,请跳过这两个部分。
您可以使用任务所需的十六进制转储程序,例如hexdump -v
,od -v -t x1
和xxd -ps
来生成示例数据。
您可以通过以下命令创建2GB的二进制测试数据,讨论here
dd if=/dev/urandom of=sample.bin bs=64M count=16
让我们在没有while循环的情况下简化旧情况。 假设你有一个非常大的文件。 你把它作为STIN加入
hexdump -v sample.bin | less -s -M +Gg
我正在讨论here如何生成大型测试文件。
使用大文件时,如果没有按任何内容,则会出现空白屏幕,因为正在进行转换。
按CTRL-c
时,您将获得已在屏幕底部转换为less的数据。
这不是所有数据。
CTRL-c
的中断是否会结束从文件到较少的数据传输?
解决此问题的可能性
tee
命令有没有办法避免数据转换的中断,但能够查看流。
我认为tee
命令可能是一种可能性。
stdbuf -i0 -o0 -e0 xxd -ps sample.bin | stdbuf -i0 -o0 -e0 less -s -M +G
无法解决问题。
我应该能够在较少的情况下刷新输出,我使用标志R
。
只有中断会在less
中显示。
我无法让unbuffer
命令与stdbuf
类似地工作,讨论它here。
我认为了解数据转换的最佳方法是在screen
内运行所有内容。
逻辑:将标准输入less
内的screen
。
在screen
中滚动输出。
我已经完成了这样的任务,之前可以在我的帖子中找到screen
。
我必须再次考虑这个问题。
我想在命令fdupes
中创建类似的可用性。
我认为甚至可能不需要tee
和buffer
。
当较少查看并行数据转换时,如何创建有关监视窗口的屏幕?