duff -er . | xargs rmIn case you want to do the same with FreeDup, your line should read
freedup -in . | awk '{if(NF!=0)print x;x=$0}' | xargs rmPlease be aware that two such concurrently active jobs might delete files, since qsort() of the OS does not provide a kind of sorting that guarantees to keep two identical files in their original order.
find test -type l -exec cp {} {}.tmp$$ \; -exec mv {}.tmp$$ {} \;
find test -type l -exec symharden {} \;
freedup -o '-xdev' test test/mount
find test -print | grep -v '/invalid_dir/' | freedup
find ./ -type d -empty -print0 | xargs -0 rmdirand another one for empty files
find ./ -type f -empty -print0 | xargs -0 rmBoth lines allow to use line feeds within the file names, since they use zero limited strings (This hint is from the readme of dupmerge).
find ./ -type d -size 0c -print | xargs rmdirand a similar one for empty files:
find ./ -type f -size 0c -print | xargs rm
find . -type f -noleaf -links +1 -printf "%n %i %f\t%h\n" | sort | less
Starting with version 1.0-5 the binary installation provides a file called verify. This is partially identical to the testing routines of the source package. Please be aware, that you have to be root to be successful with all tasks since there are test files given to other users (bin.bin, except for cygwin: ASPNET.SYSTEM). In version 1.0-5 there is also a good chance that the intercative test fails, when the sorting order (which was not defined!) differs from my development system.
The versions before 1.0-4 do not support an internal hash sum calculation. External hash programs give you the disadvantage of speed loss, since the hash sums are calculated separately (use -# to switch hashsums off). The advantage is, that you may use nearly every external program that generates hash sums. You have to set the paths at compile time or move/link the executables to where they are expected.
The use of external programs may cause strange effects, if they do not work as expected. This was the reason why the cygwin versions before 1.0-3 all had no hash support. Version 1.0-3 does no strict testing, but checks that the output format matches the format that FreeDup needs. On my development system (SuSE Linux 10) the output to sha1sum freedup reads
284abef5f109e88d8e997a8756c6fe396dade795 freedupwhile it reads under cygwin
284abef5f109e88d8e997a8756c6fe396dade795 *freedup
Freedup expects a 40 byte hash sum for sha1sum and 32 alphanumeric bytes for md5sum. The use of the 16 bytes output from sum is not really considered helpful, but provided as fallback. The spaces (for cygwin the second is an asterisk) after the hash code are checked to be there (details are in the definition around the hashme[] within the source). If not, it is assumed that the hash methods quite certainly provide misleading results. Therefore they are disabled automatically. Prior to version 1.1 you see output like this if the output format does not match:
$ freedup /home/peter/ md5: format does not match ('/' instead of ' ') sum: format does not match ('i' instead of ' ') No working hashmethod found. --> Use of hash methods is disabled. [...]
Starting with version 1.0-4, FreeDup provides an internal hash method as default and fallback method, but allows a free choice between an internal and the external hash methods.