From 97491f6c7870239ac72bf775215904a948828f33 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Fri, 12 Mar 2010 08:04:09 +0100 Subject: [PATCH] Added the and: syntax. --- finddup.1 | 10 ++++++---- finddup.c | 6 ++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/finddup.1 b/finddup.1 index e021a81..3092d75 100644 --- a/finddup.1 +++ b/finddup.1 @@ -10,20 +10,22 @@ finddup \- Find files common to two directories (or not) .SH "SYNOPSIS" -\fBfinddup\fP [OPTION]... DIR1 [[not:]DIR2] +\fBfinddup\fP [OPTION]... DIR1 [[and:|not:]DIR2] .SH "DESCRIPTION" With a single directory argument, \fBfinddup\fP prints the duplicated files found in it. 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. +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:'. -It compares files by first comparing their sizes, hence goes +This command compares files by first comparing their sizes, hence goes reasonably fast. When looking for identical files, \fBfinddup\fP associates by default -a group ID to every content, and prints it along the file names. +a group ID to every content, and prints it along the file names. Use +the \fB-g\fP to switch it off. Note that .B finddup DIR diff --git a/finddup.c b/finddup.c index 688fb02..05c3999 100644 --- a/finddup.c +++ b/finddup.c @@ -380,6 +380,8 @@ void start(const char *dirname1, const char *dirname2) { /* groups are not computed in the not: mode */ show_groups = 0; dirname2 += 4; + } else if(strncmp(dirname2, "and:", 4) == 0) { + dirname2 += 4; } if(show_progress) { fprintf(stderr, "%s ... ", dirname2); @@ -465,9 +467,9 @@ void start(const char *dirname1, const char *dirname2) { } void print_help(FILE *out) { - fprintf(out, "Usage: finddup [OPTION]... DIR1 [[not:]DIR2]\n"); + fprintf(out, "Usage: finddup [OPTION]... DIR1 [[and:|not:]DIR2]\n"); fprintf(out, "Version %s (%s)\n", VERSION_NUMBER, UNAME); - fprintf(out, "Without DIR2, lists duplicated files found in DIR1. With DIR2, lists files common to both directories. With the not: prefix, lists files found in DIR1 which do not exist in DIR2.\n"); + fprintf(out, "Without DIR2, lists duplicated files found in DIR1. With DIR2, lists files common to both directories. With the not: prefix, lists files found in DIR1 which do not exist in DIR2. The and: prefix is the default and should be used only if you have a directory starting with 'not:'\n"); fprintf(out, "\n"); fprintf(out, " -h show this help\n"); fprintf(out, " -d ignore dot files and directories\n"); -- 2.20.1