Is there a way to show the progress when running the cmp command?

Comparing large files or partitions using cmp can take a while.

I have searched google and used man cmp, but failed to find any useful information.

With the 'dd' command for example executing

kill -USR1 [pid_of_dd]

makes dd output its status in the console.

Is there a way to make cmp do something similar?

link|improve this question
feedback

migrated from stackoverflow.com Nov 23 '11 at 11:37

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 4 down vote accepted

You can use PipeViewer for this

pv firstfile | cmp -l secondfile > output
link|improve this answer
Thanks! Your answer is really useful for other commandline stuff as well. – Iljaas Nov 24 '11 at 8:34
feedback
$ cmp -l firstfile secondfile &
[1] pid_of_cmp
$ ls -l /proc/pid_of_cmp/fd/
lrwx------ 1 user group 64 datetime 0 -> /dev/console
lrwx------ 1 user group 64 datetime 1 -> /dev/console
lrwx------ 1 user group 64 datetime 2 -> /dev/console
lr-x------ 1 user group 64 datetime 3 -> /path/to/firstfile
lr-x------ 1 user group 64 datetime 4 -> /path/to/secondfile
$ cat /proc/pid_of_cmp/fdinfo/0
pos:    25952256
flags:  0100000
$ cat /proc/pid_of_cmp/fdinfo/1
pos:    122650624
flags:  0100000

Compare pos to the size of the files.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.