diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2017-07-20 10:49:10 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2017-07-20 10:50:31 +1200 |
commit | bb3dafc1660f773ded93e8eb582ad5cb7c2e0697 (patch) | |
tree | 06fb6637839a3c7844084e28e62dca436200471a /README.markdown | |
parent | Skip zero-length files (diff) | |
download | checkem-bb3dafc1660f773ded93e8eb582ad5cb7c2e0697.tar.gz (sig) checkem-bb3dafc1660f773ded93e8eb582ad5cb7c2e0697.zip |
Completely overhaul checkemv2.0
Remove error-prone inode detection and just do the size-then-checksum
algorithm, and use better data structure methods for the same.
Diffstat (limited to 'README.markdown')
-rw-r--r-- | README.markdown | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/README.markdown b/README.markdown index d793349..795d0a5 100644 --- a/README.markdown +++ b/README.markdown @@ -2,23 +2,25 @@ Checkem ======= Find duplicate files efficiently, using Perl on GNU/Linux, and maybe other -systems. Requires Perl core include `Digest::SHA`. +systems. Requires Perl core including `Digest::SHA`. -Takes an optional parameter of the directory to check, otherwise assumes you -mean the current directory. +Requires at least one directory argument: - $ checkem - $ checkem /home/tom + $ checkem . + $ checkem ~tom ~chantelle + $ checkem /usr /usr/local -`checkem-fixem` ---------------- +Caveats +------- -If you dump the output of `checkem` to a file, assuming you have no newlines in -your filenames, you can run `checkem-fixem` over it to output some shell script -to perform hard-linking to remove redundancies. +This does not presently detect hard links, and will report them as duplicate +files. The problem with doing this is inode integer collisions if your search +includes multiple filesystems. I haven't yet figured out how to fix this in a +way that should work on most Unix-like systems. -Make sure you read its output really carefully before you pipe it into `sh`. -The script itself requires Bash for `%q`. +There used to be a script `checkem-fixem` included with this distribution that +generated shell script to make hard links for you, but it wasn't safe because +it couldn't know whether a hard link would even be possible. License ------- |