findutils/*: move usage and applet bits to *.c files

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2010-06-15 15:40:16 +02:00
parent c37fecb86c
commit 4f731ce30e
5 changed files with 172 additions and 152 deletions

View File

@@ -14,13 +14,16 @@
* 2004,2006 (C) Vladimir Oleynik <dzo@simtreas.ru> -
* correction "-e pattern1 -e pattern2" logic and more optimizations.
* precompiled regex
*/
/*
*
* (C) 2006 Jac Goudsmit added -o option
*/
//applet:IF_GREP(APPLET(grep, _BB_DIR_BIN, _BB_SUID_DROP))
//applet:IF_FEATURE_GREP_EGREP_ALIAS(APPLET_ODDNAME(egrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, egrep))
//applet:IF_FEATURE_GREP_FGREP_ALIAS(APPLET_ODDNAME(fgrep, grep, _BB_DIR_BIN, _BB_SUID_DROP, fgrep))
//kbuild:lib-$(CONFIG_GREP) += grep.o
//config:
//config:config GREP
//config: bool "grep"
//config: default y
@@ -57,17 +60,67 @@
#include "libbb.h"
#include "xregex.h"
/* options */
//usage:#define grep_trivial_usage
//usage: "[-HhnlLoqvsriw"
//usage: "F"
//usage: IF_FEATURE_GREP_EGREP_ALIAS("E")
//usage: IF_EXTRA_COMPAT("z")
//usage: "] [-m N] "
//usage: IF_FEATURE_GREP_CONTEXT("[-A/B/C N] ")
//usage: "PATTERN/-e PATTERN.../-f FILE [FILE]..."
//usage:#define grep_full_usage "\n\n"
//usage: "Search for PATTERN in FILEs (or stdin)\n"
//usage: "\nOptions:"
//usage: "\n -H Add 'filename:' prefix"
//usage: "\n -h Do not add 'filename:' prefix"
//usage: "\n -n Add 'line_no:' prefix"
//usage: "\n -l Show only names of files that match"
//usage: "\n -L Show only names of files that don't match"
//usage: "\n -c Show only count of matching lines"
//usage: "\n -o Show only the matching part of line"
//usage: "\n -q Quiet. Return 0 if PATTERN is found, 1 otherwise"
//usage: "\n -v Select non-matching lines"
//usage: "\n -s Suppress open and read errors"
//usage: "\n -r Recurse"
//usage: "\n -i Ignore case"
//usage: "\n -w Match whole words only"
//usage: "\n -F PATTERN is a literal (not regexp)"
//usage: IF_FEATURE_GREP_EGREP_ALIAS(
//usage: "\n -E PATTERN is an extended regexp"
//usage: )
//usage: IF_EXTRA_COMPAT(
//usage: "\n -z Input is NUL terminated"
//usage: )
//usage: "\n -m N Match up to N times per file"
//usage: IF_FEATURE_GREP_CONTEXT(
//usage: "\n -A N Print N lines of trailing context"
//usage: "\n -B N Print N lines of leading context"
//usage: "\n -C N Same as '-A N -B N'"
//usage: )
//usage: "\n -e PTRN Pattern to match"
//usage: "\n -f FILE Read pattern from file"
//usage:
//usage:#define grep_example_usage
//usage: "$ grep root /etc/passwd\n"
//usage: "root:x:0:0:root:/root:/bin/bash\n"
//usage: "$ grep ^[rR]oo. /etc/passwd\n"
//usage: "root:x:0:0:root:/root:/bin/bash\n"
//usage:
//usage:#define egrep_trivial_usage NOUSAGE_STR
//usage:#define egrep_full_usage ""
//usage:#define fgrep_trivial_usage NOUSAGE_STR
//usage:#define fgrep_full_usage ""
#define OPTSTR_GREP \
"lnqvscFiHhe:f:Lorm:w" \
IF_FEATURE_GREP_CONTEXT("A:B:C:") \
IF_FEATURE_GREP_EGREP_ALIAS("E") \
IF_EXTRA_COMPAT("z") \
"aI"
/* ignored: -a "assume all files to be text" */
/* ignored: -I "assume binary files have no matches" */
enum {
OPTBIT_l, /* list matched file names only */
OPTBIT_n, /* print line# */