Template Version: @(#)sac_nextcase 1.69 02/15/10 SMI This information is Copyright 2010 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: xgrep 1.2. Name of Document Author/Supplier: Author: Olga Kyrzhanovska 1.3 Date of This Document: 02 March, 2010 4. Technical Description I'm sponsoring this fast-track request on behalf of the POSIX utility community and shell project. Please note that this is an *open* case.
The release binding is the same as with the ksh93 project: a patch/micro release of Solaris delivering through ON Stability levels are as described below. This project is an amendment to the Korn Shell 93 Integration project (PSARC/2006/550 and PSARC/2007/035, PSARC/2008/094, PSARC/2008/344 and PSARC/2008/589) specifying the following additional interfaces: Addition of /usr/bin/xgrep Bug/RFE Number(s): 6929154 RFE: Add /usr/bin/xgrep (Augmented regular expressions (conjunction, negation.)) Interface Stability Description --------- --------- ----------- /usr/bin/xgrep Committed xgrep command ksh93 'xgrep' built in Committed xgrep command Man page for xgrep.1: ======================================================================== NAME xgrep - search lines in files for matching augmented regular patterns SYNOPSIS xgrep [ options ] [ pattern ] [ file ... ] DESCRIPTION The xgrep commands search the named input files for lines containing a match for the given patterns. Matching lines are printed by default. The standard input is searched if no files are given or when the file - is specified. OPTIONS -G, --basic-regexp grep mode: basic regular expression patterns. -E, --extended-regexp egrep mode: extended regular expression patterns. -X, --augmented-regexp xgrep mode (default): augmented regular expression patterns. -P, --perl-regexp pgrep mode: perl(1) regular expression patterns. -F, --fixed-string fgrep mode: fixed string patterns. -C, --context[=before[,after]] Set the matched line context before and after count. By default only matched lines are printed. The option value may be omitted. The default value is 2,2. -c, --count Only print a matching line count for each file. -e, --expression|pattern|regexp=pattern Specify a matching pattern. More than one pattern implies alternation. If this option is specified then the command line pattern must be omitted. -f, --file=pattern-file Each line in pattern-file is a pattern, placed into a single alternating expression. -H, --filename|with-filename Prefix each matched line with the containing file name. -h, --no-filename Suppress containing file name prefix for each matched line. -i, --ignore-case Ignore case when matching. -l, --files-with-matches Only print file names with at least one match. -L, --files-without-matches Only print file names with no matches. -b, --highlight Highlight matches using the ansi terminal bold sequence. -v, --invert-match|revert-match Invert the pattern match sense. -m, --label All patterns must be of the form label:pattern. Match and count output will be prefixed by the corresponding label:. -O, --lenient Enable lenient pattern interpretation. This is the default. -x, --line-match|line-regexp Force patterns to match complete lines. -n, --number|line-number Prefix each matched line with its line number. -N, --name=name Set the standard input file name prefix to name. The default value is empty. -q, --quiet|silent Do not print matching lines. -S, --strict Enable strict pattern interpretation with diagnostics. -s, --suppress|no-messages Suppress error and warning messages. -t, --total Only print a single matching line count for all files. -w, --word-match|word-regexp Force patterns to match complete words. -a Ignored for GNU compatibility. --help Print help message. DIAGNOSTICS Exit status 0 if matches were found, 1 if no matches were found, where -v inverts the exit status. Exit status 2 for other errors ATTRIBUTES See attributes(5) for descriptions of the following attri- butes: /usr/bin/xgrep and ksh93 xgrep built in command: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |______________________________|____________________________| | Availability | SUNWcsu | |______________________________|____________________________| | CSI | enabled | |______________________________|____________________________| | Interface Stability | Committed | |______________________________|____________________________| EXAMPLES Negation ('!' NOT operator): printf '123\n234\n345\n456\n567\n' | xgrep '^(.*4.*)!$' will print: 123 567 Conjunction ('&' AND operator): printf '123\n234\n345\n456\n' | xgrep '^(.45)&(34.)$' will print: 345 CAVEATS Some expressions of necessity require exponential space and/or time. BUGS Some expressions may use sub-optimal algorithms. For example, don't use this implementation to compute primes. SEE ALSO awk(1), ed(1), grep(1), ksh93(1), sed(1), perl(1), regex(3) ======================================================================== 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ON 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open