Minor typo.
[finddup.git] / finddup.1
index 62ab0b8..896cc88 100644 (file)
--- a/finddup.1
+++ b/finddup.1
@@ -1,4 +1,4 @@
-.TH "FINDDUP" "1.0" "Mar 2010" "Francois Fleuret" "User Commands"
+.TH "FINDDUP" "1.2" "Apr 2011" "Francois Fleuret" "User Commands"
 
 \" This man page was written by Francois Fleuret <francois@fleuret.org>
 \" and is distributed under a Creative Commons Attribution-Share Alike
@@ -10,7 +10,7 @@ finddup \- Find files common to two directories (or not)
 
 .SH "SYNOPSIS"
 
-\fBfinddup\fP [OPTION]... [DIR1 [[and:|not:]DIR2]]
+\fBfinddup\fP [OPTION]... [DIR-OR-FILE1 [[and:|not:]DIR-OR-FILE2]]
 
 .SH "DESCRIPTION"
 
@@ -20,8 +20,9 @@ one as default.
 
 With two directories, it prints either the files common to both DIR1
 and DIR2 or, with the `not:' prefix, the ones present in DIR1 and not
-in DIR2. The and: prefix is assumed by default and necessary only if
-you have a directory name starting with `not:'.
+in DIR2. The `and:' prefix is assumed by default and necessary only if
+you have a directory name starting with `not:'. Files are handled like
+directories containing a single file.
 
 This command compares files by first comparing their sizes, hence goes
 reasonably fast.
@@ -37,8 +38,11 @@ is virtually the same as
 
 .SH "OPTIONS"
 .TP
+\fB-v\fR, \fB--version\fR
+print the version number and exit
+.TP
 \fB-h\fR, \fB--help\fR
-display help and exit
+print the help and exit
 .TP
 \fB-d\fR, \fB--ignore-dots\fR
 ignore files and directories starting with a dot
@@ -47,13 +51,19 @@ ignore files and directories starting with a dot
 ignore empty files
 .TP
 \fB-c\fR, \fB--hide-matchings\fR
-do not show which files from DIR2 corresponds to files from DIR1
+do not show which files from DIR2 correspond to files from DIR1
 (hence, show only the files from DIR1 which have an identical twin in
 DIR2)
 .TP
 \fB-g\fR, \fB--no-group-ids\fR
 do not show the file group IDs
 .TP
+\fB-t\fR, \fB--time-sort\fR
+sort files in each group according to the modification times
+.TP
+\fB-q\fR, \fB--trim-first\fR
+do not print the first file in each group
+.TP
 \fB-p\fR, \fB--show-progress\fR
 show progress information in stderr
 .TP
@@ -62,17 +72,30 @@ show the real path of the files
 .TP
 \fB-i\fR, \fB--same-inodes-are-different\fR
 files with same inode are considered as different
+.TP
+\fB-e \fI<command>\fR, \fB--exec \fI<command>\fR
+execute the provided command for each group of identical files, with
+their names as arguments
+.TP
+\fB-f \fI<string>\fR, \fB--result-prefix \fI<string>\fR
+for each group of identical files, write one result file whose name is
+the given prefix string followed by the group number, and containing
+one file name per line
 
 .SH "BUGS"
 
 None known, probably many. Valgrind does not complain though.
 
+Since files with same inodes are considered as different when looking
+for duplicates in a single directory, there are weird behaviors -- not
+bugs -- with hard links.
+
 The current algorithm is dumb, as it does not use any hashing of the
 file content.
 
 Here are the things I tried, which did not help at all: (1) Computing
 md5s on the whole files, which is not satisfactory because files are
-often not read entirely, hence the md5s can not be properly computed,
+often not read entirely, hence the md5s cannot be properly computed,
 (2) computing XORs of the first 4, 16 and 256 bytes with rejection as
 soon as one does not match, (3) reading files in parts of increasing
 sizes so that rejection could be done with only a small fraction read
@@ -82,7 +105,7 @@ when possible, (4) using mmap instead of open/read.
 
 The format of the output should definitely be improved. Not clear how.
 
-Their could be some fancy option to link two instances of the command
+There could be some fancy option to link two instances of the command
 running on different machines to reduce network disk accesses. This
 may not help much though.
 
@@ -95,6 +118,14 @@ List duplicated files in directory ./blah/, show a progress bar,
 ignore empty files, and ignore files and directories starting with a
 dot.
 
+.B finddup -qtg
+
+.fi
+List all files which are duplicated in the current directory, do not
+show the oldest in each each group of identical ones, and do not show
+group numbers. This is what you could use to list what files to
+remove.
+
 .P
 .B finddup sources not:/mnt/backup
 
@@ -108,7 +139,7 @@ content-matching equivalent in \fB/mnt/backup/\fR.
 .fi
 List groups of files with same content which exist both in
 \fB./tralala/\fR and \fB./cuicui/\fR. Do not show group IDs, instead
-write an empty lines between groups of files of same content.
+write empty lines between groups of files of same content.
 
 .SH "AUTHOR"