From: Drew Adams <drew.adams@oracle.com>
To: gnuist006@gmail.com, help-gnu-emacs@gnu.org
Subject: RE: How to find lines not matching a certain pattern - ie grep -v
Date: Sun, 22 Feb 2015 12:55:31 -0800 (PST) [thread overview]
Message-ID: <2ee45e5e-3350-488b-8253-663bc7d3d96b@default> (raw)
In-Reply-To: <6a41f4ac-f7e7-49f1-a593-501d82d4c733@googlegroups.com>
> Once in a while I have to do something to lines that do not have a certain
> string or set of strings in them. I know how to find lines with a string. I
> also know how to find lines with a set of strings, ie by using the regexp
> string1\|string2\| ....
>
> But I dont know how to find strings that do not have the string or strings.
A. If you use Icicles then:
1. You can complement the search domain (the set of search contexts).
In the case of `icicle-occur', which is analogous to `occur' and `grep',
the search contexts are lines, so searching with complementing means
searching the lines that do not match the context-defining regexp.
You can use `C-M-~' anytime during Icicles search, to toggle whether to
search the originally defined search contexts or their complements.
http://www.emacswiki.org/emacs/Icicles_-_Search_Commands%2c_Overview#SearchOutsideContexts
2. #1 is about complementing the set of search contexts, that is, the
regions of text that you define initially and then search incrementally.
Another, more common kind of complementing is to complement the set of
current search hits, on the fly.
For that, you hit `C-~'. That is the Icicles way to complement the
current set of completion candidates, to show those from the initial
domain (or the last narrowing via `S-SPC') that do not belong to the
current set of hits. So you type a pattern to match, and then hit
`C-~', to see all of the thingies that do NOT match that pattern.
http://www.emacswiki.org/emacs/Icicles_-_Nutshell_View#ChippingAway
B. If you use library `isearch-prop.el' then you can get another kind
of complementing with Isearch:
You can search zones of text/overlays that have a given property, or
you can search the complement: the zones that do NOT have a given
property. You can toggle this search-domain complementing at any time
during Isearch, using `C-M-~'.
http://www.emacswiki.org/emacs/IsearchPlus#isearchp-toggle-complementing-domain
next prev parent reply other threads:[~2015-02-22 20:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-22 18:11 How to find lines not matching a certain pattern - ie grep -v gnuist006
2015-02-22 20:40 ` Dan Espen
2015-02-22 22:01 ` ltolenaar
2015-02-25 1:29 ` Robert Thorpe
2015-02-22 20:55 ` Drew Adams [this message]
2015-02-23 3:23 ` Barry Margolin
2015-02-23 4:20 ` Michael Heerdegen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2ee45e5e-3350-488b-8253-663bc7d3d96b@default \
--to=drew.adams@oracle.com \
--cc=gnuist006@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).