On Tue, Mar 2, 2010 at 10:44 PM, Glenn Skinner <glenn.skinner at covad.net>
wrote:
> On Mar 2, 2010, at 12:55 PM, Garrett D'Amore - sun microsystems wrote:
>
>> 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
>
> Before I give this case my +1, I have some questions:
>
> The case's specification should define the syntax of the regular expressions
> the utility accepts. I suspect that the variants requested by the -E, -F,
> -G, and -P flags can be handled with references to the corresponding man
> pages. But what is the specification for -X mode REs (including the
> semantics of alternation and conjunction)?
-X is like POSIX grep -E (egrep) but adds & as AND operator and ! as
NOT operator.
>
> What is the difference between lenient and strict pattern interpretation?
Strict will print syntax errors if the pattern does not match the
standard exactly. I leave the exact explanation to Glenn Fowler.
> What is the default for the -H, -h option pair? The traditional grep
> utility only prefixes matches with file names when there's more than one
> source file. Is there a way to request compatibility with that behavior?
> (I think there should be.)
This is already the default.
Try:
builtin xgrep
xgrep ksh /etc/profile /etc/profile
> If conflicting options are given on the command line, which one wins? The
> first, the last, is it an error?
Should be an error unless POSIX defines it else for this option.
Olga
--
, _ _ ,
{ \/`o;====- Olga Kryzhanovska -====;o`\/ }
.----'-/`-/ olga.kryzhanovska at gmail.com \-`\-'----.
`'-..-| / Solaris/BSD//C/C++ programmer \ |-..-'`
/\/\ /\/\
`--` `--`