summaryrefslogtreecommitdiff
path: root/img/dist/IM/imgrep.in
diff options
context:
space:
mode:
Diffstat (limited to 'img/dist/IM/imgrep.in')
-rw-r--r--img/dist/IM/imgrep.in128
1 files changed, 113 insertions, 15 deletions
diff --git a/img/dist/IM/imgrep.in b/img/dist/IM/imgrep.in
index 555db0ad..5fc160c4 100644
--- a/img/dist/IM/imgrep.in
+++ b/img/dist/IM/imgrep.in
@@ -5,7 +5,7 @@
###
### Author: Internet Message Group <img@mew.org>
### Created: Apr 23, 1997
-### Revised: Apr 14, 2000
+### Revised: Dec 7, 2002
###
BEGIN {
@@ -13,7 +13,7 @@ BEGIN {
@im_src_siteperl@
};
-my $VERSION = "imgrep version 20000414(IM141)";
+my $VERSION = "imgrep version 20021207(IM142)";
$Prog = 'imgrep';
@@ -49,12 +49,10 @@ my $range_element = '(\\d+|cur|first|last|next|prev|new)';
my $range_regexp = "($range_element(-$range_element|:[+-]?\\d+)?|all)";
my $ranges_regexp = "$range_regexp(,$range_regexp)?";
-$EXPLANATION = "
-$Prog :: Internet Message GREP
-$VERSION
-
-Usage :: $Prog [options] [+folder] [range]
+$EXPLANATION = "$VERSION
+search for mail/news messages
+Usage: $Prog [OPTIONS] [FOLDER] [RANGE]
";
@OptConfig = (
@@ -106,10 +104,10 @@ my $default_folder = cur_folder(); # must set here
@opt_src = sortuniq(@opt_src);
-@opt_src or @opt_src = ( $default_folder );
-@default_ranges = ( @ARGV ? @ARGV : 'all' );
+@opt_src or @opt_src = ($default_folder);
+@default_ranges = (@ARGV ? @ARGV : 'all');
-if ( $opt_format eq 'number' and @opt_src > 1 ) {
+if ($opt_format eq 'number' and @opt_src > 1) {
$opt_format = 'path';
}
@@ -126,26 +124,26 @@ my $matched = 0;
FOLDER:
foreach (@opt_src) {
- my ($folder, $ranges) = (/^(.*?)(:$ranges_regexp)?$/);
+ my($folder, $ranges) = (/^(.*?)(:$ranges_regexp)?$/);
$ranges =~ s/^:(.*)$/$1/;
my $folder_dir;
my @ranges = split(',', $ranges);
my @messages = ();
- if ( $folder =~ /^\-/ ) {
+ if ($folder =~ /^\-/) {
im_warn("Newsspool $folder search not supported (ignored)\n");
next FOLDER;
}
- @ranges = ( $ranges ? @ranges : @default_ranges );
+ @ranges = ($ranges ? @ranges : @default_ranges);
$folder_dir = expand_path($folder);
@messages = grep_folder($folder_dir, $eval_string,
$opt_dupchecktarget, @ranges);
- if ( @messages ) {
+ if (@messages) {
$matched += @messages;
- foreach ( @messages ) {
+ foreach (@messages) {
print "$folder:" if ($opt_format eq 'folder');
print "$folder_dir/" if ($opt_format eq 'path');
print "$_\n";
@@ -169,6 +167,106 @@ exit $EXIT_SUCCESS;
##
##################################################
+__END__
+
+=head1 NAME
+
+imgrep - search for mail/news messages
+
+=head1 SYNOPSIS
+
+B<imgrep> [OPTIONS] [FOLDER] [RANGE]
+
+=head1 DESCRIPTION
+
+The I<imgrep> command enumerates mail/news messages matched given patterns.
+
+This command is provided by IM (Internet Message).
+
+=head1 OPTIONS
+
+=over 5
+
+=item I<-s, --src=FOLDER,FOLDER...>
+
+message source: "+folder:[range[,range..]]".
+
+"--src=+xxx" is equivalent to "+xxx".
+
+=item I<-f, --format=STRING>
+
+Output format: "number", "folder", or "path".
+
+(default: "number" for single target folder, "path" for multiple target folders)
+
+=item I<-c, --casefold={on,off}>
+
+Case sensitivity.
+(This option affects both fieldname and pattern.)
+
+Default value is "on".
+
+=item I<-e, --expression=STRING>
+
+Search expression:
+
+Usable keyword
+
+ & && logical AND
+
+ | || logical OR
+
+ ! logical NOT
+
+ ( ) parens
+
+ fieldname=pattern search pattern for the field
+
+Special fieldname:
+
+ head Entire header
+
+ body Entire body
+
+ all Entire message
+
+=item I<-d, --delimiter=STRING>
+
+Mail header delimiter.
+
+Default value is "\n\n|\n----\n".
+
+=item I<-D, --dupchecktarget=STRING>
+
+Duplicate check target ('none', 'message-id', or 'message-id+subject').
+Default value is 'none'.
+
+=item I<-q, --quiet={on,off}>
+
+Do not show any messages.
+
+=item I<-v, --verbose={on,off}>
+
+Print verbose messages when running.
+
+=item I<--debug=DEBUG_OPTION>
+
+Print debug messages when running.
+
+=item I<-h, --help>
+
+Display help message and exit.
+
+=back
+
+=head1 COPYRIGHT
+
+IM (Internet Message) is copyrighted by IM developing team.
+You can redistribute it and/or modify it under the modified BSD
+license. See the copyright file for more details.
+
+=cut
+
### Copyright (C) 1997, 1998, 1999 IM developing team
### All rights reserved.
###