Как показать прогресс команды Linux "cmp"?

Есть ли способ показать прогресс при запуске команды cmp?

Сравнение больших файлов или разделов с помощью cmp может занять некоторое время.

Я искал в Google и использовал man cmp, но не смог найти никакой полезной информации.

С помощью команды 'dd', например, выполнить

kill -USR1 [pid_of_dd]

заставляет dd выводить свой статус в консоли.

Есть ли способ заставить cmp сделать что-то подобное?

2 ответа

Решение

Вы можете использовать PipeViewer для этого

pv firstfile | cmp -l secondfile > output
$ cmp -l первый файл второй файл &
[1] pid_of_cmp$ ls -l / proc /pid_of_cmp/ fd /
lrwx ------ 1 группа пользователей 64 datetime 0 -> / dev / console
lrwx ------ 1 группа пользователей 64 datetime 1 -> / dev / console
lrwx ------ 1 группа пользователей 64 datetime 2 -> / dev / console
lr-x ------ 1 группа пользователей 64 datetime 3 -> / path / to / firstfile
lr-x ------ 1 группа пользователей 64 datetime 4 -> / path / to / secondfile
$ cat / proc /pid_of_cmp/ fdinfo / 0
Pos:    25952256
флаги:  0100000
$ cat / proc /pid_of_cmp/ fdinfo / 1
Pos:    122650624
флаги:  0100000

сравнить pos к размеру файлов.

Другие вопросы по тегам