rfe: add support for grep -o option to AST and ksh93 builtin grep to
be in sync with Solaris/Illumos (see
https://www.illumos.org/issues/3546 for the request and
https://www.illumos.org/attachments/844/illumos-grep-o.patch for the
patch), BSD and GNU grep.
GNU grep defines -o as:
-o, --only-matching
Print only the matched (non-empty) parts of a matching
line, with each such part on a separate output line.
Sample output 1:
grep -r -o -E 'foo.+bar' /usr/share/doc/manual/
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.hat.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_ja/manual/art.aaquick.html:foo's
local profile, foobar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.adm.shell.html:foo
|| mkdir /home/wilber/bar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.support.html:foo?/bar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.profiles.html:foo's
local (children)profile for /usr/bin/foobar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.profiles.html:foo's
hat, bar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.profiles.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_ja/manual/cha.apparmor.profiles.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.hat.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_en/manual/art.aaquick.html:foo's
local profile, foobar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.adm.shell.html:foo
|| mkdir /home/wilber/bar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.support.html:foo?/bar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.profiles.html:foo's
local (children)profile for /usr/bin/foobar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.profiles.html:foo's
hat, bar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.profiles.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_en/manual/cha.apparmor.profiles.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.hat.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_de/manual/art.aaquick.html:foo's
local profile, foobar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.adm.shell.html:foo
|| mkdir /home/wilber/bar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.support.html:foo?/bar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.profiles.html:foo's
local (children)profile for /usr/bin/foobar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.profiles.html:foo's
hat, bar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.profiles.html:foo/bar
/usr/share/doc/manual/opensuse-manuals_de/manual/cha.apparmor.profiles.html:foo/bar
Sample output 2:
printf '123\nfoo-bar foo-yoyo-bar fixfoofuxbaxbarbox\n567\n' | grep -o
-E 'foo.+bar'
foo-bar foo-yoyo-bar fixfoofuxbaxbar
Irek
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers