Olga, please check my comments inline:

On Tue, Mar 2, 2010 at 9:55 PM, Garrett  D'Amore - sun microsystems
<gd78059 at sac.sfbay.sun.com> wrote:
>
> 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.

--version is missing.

> 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                  |
>    |______________________________|____________________________|

Are you sure you want this all as Committed? If I understood Roland
right he said that options should only be Committed if they fall into
one or more of these categories and Uncommitted otherwise:
- The option is defined by the SUS or POSIX standard
- More than two implementations provide this option
- The option has been around for many years

xgrep is not a utility defined by POSIX or SUS but grep is and I see
this case as first step towards a modernisation of /usr/bin/grep,
/usr/bin/xpg4/bin/grep and cohorts (I see you already have the code
integrated).

Irek

Reply via email to