The reason that finddup fails in this case is that it was run in verbose
mode (in two ways: first by passing the -v option, and secondly by passing
the -n option, which implies -v).
The verbose mode’s messages are sent to stdout, and so get into the output
file finddup.out.
finddup does not know how to parse this, so it doesn’t work properly when it
is run on that file.
Finally, the -o option does not take an argument; rather, the old output
must be supplied on stdin.
The following two commands work correctly, after the test setup given by the
reporter:
# finddup -d test > finddup.out
# finddup -o < finddup.out
To make it less likely to get into this mess, I’ve changed -v to print to
stderr in my recent improvements (shortly coming as version 1.3).