Экран больших данных без прерывания преобразования данных

Этот поток является расширением этого потока, где прерывание (CTRL-c) останавливает передачу данных на меньшее. Я хотел бы создать аналогичное преобразование данных мониторинга системы, как показано в fdupes. Я думаю, что это может быть достигнуто с помощью GNU screen. Инструменты tee и buffers могут не понадобиться для этого, поэтому пропустите эти два раздела, если хотите.

Преобразование шестнадцатеричных и тройников [пропустите, если вы знаете]

Для генерации данных примера вы можете использовать любой гексагон-демпер, который вы хотите для задачи, например hexdump -v, od -v -t x1 и xxd -ps. Вы можете создать двоичные тестовые данные 1GB следующей командой, обсужденной здесь

dd if=/dev/urandom of=sample.bin bs=64M count=16

Позвольте упростить старую ситуацию без цикла while. Предположим, у вас очень большой файл. Вы считаете, что STIN меньше

hexdump -v sample.bin | less -s -M +Gg

Я обсуждаю здесь, как сгенерировать вам большие тестовые файлы. С большим файлом вы получаете пустой экран, когда вы ничего не нажимаете, поскольку конверсия идет полным ходом. Когда вы нажимаете CTRL-c, вы получаете данные, которые уже были преобразованы в меньшую сторону в нижней части экрана. Это не все данные. Прерывает ли прерывание CTRL-c передачу данных из файла на меньшее?

Возможности для исправления этого

  • обновить менее как-то, если преобразование все еще продолжается.
  • привязать tee команду здесь как-то

Есть ли способ избежать прерывания преобразования данных, но иметь возможность смотреть поток. Я думаю, что команда tee может быть одной возможностью.

Буферы [я думаю, не нужны]

stdbuf -i0 -o0 -e0 xxd -ps sample.bin | stdbuf -i0 -o0 -e0 less -s -M +G

который не решает проблему. Я должен обновить вывод меньше, когда использую флаг R. Только прерывание покажет что-то в less.

Мне не удалось заставить команду unbuffer работать так же, как stdbuf, обсуждая ее здесь.

Экран

Я думаю, что лучший способ взглянуть на преобразование данных - это запустить все внутри screen. Логика: введите stdout в less внутри screen. Прокрутите вывод в screen. Я выполнил такую ​​задачу, перед которой можно найти в моей статье о screen. Я должен снова подумать об этом. Я хотел бы создать аналогичную удобство использования, как в команде fdupes. Я думаю, что tee и buffer могут даже не понадобиться.

Как вы можете создать экран о окне мониторинга, когда меньше просматривает параллельное преобразование данных?