<div dir="ltr"><div><br></div>Ah, regex golf.  Try &#39;def.*buff.*for.*ALTPLAN&#39;  Use &quot;grep -i&quot; to ignore case.  Your initial regexp used *file* regex, where &quot;*&quot; means any character any length.  In the proper formal dialects, &quot;*&quot; merely means any number of the preceding RE, and the &quot;.&quot; means any character. Hence, &quot;foo*&quot; in the shell matches &quot;fooa&quot;,&quot;foob&quot;, et cetera.  But in regex, it matches only &quot;foo&quot;, &quot;fooo&quot;, &quot;foooooo&quot;, et cetera. Watch out for quoting in the shell also; that&#39;s why I used single-quotes.  Knowing just a few REs can carry you a surprising distance.  [abc] matches the single character a,b,and c.  So &quot;[abc]+&quot; matches aaaa, bb, or ccc but not i.<div><br></div><div><div><br></div><div>This worked for me on the following file:<div><br></div><div><div>define buffer snort for ALTPLAN</div><div>DEFINE BUFFER BOOF for ALTPLAN</div><div>FOO</div><div><br></div></div><div><div>!:/home/cshapiro/Mapping_Contracts/forsythco&gt; grep -i &#39;^def.*buf.*for ALTPLAN&#39; foo.txt</div><div>define buffer snort for ALTPLAN</div><div>DEFINE BUFFER BOOF for ALTPLAN</div></div><div><br></div><div>For extra fnu, try the regex golf site ( <a href="http://www.regex.alf.nu/">http://www.regex.alf.nu/</a> ).</div><div><br></div><div>-- CHS</div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 22, 2016 at 8:35 PM, DJ-Pfulio <span dir="ltr">&lt;<a href="mailto:DJPfulio@jdpfu.com" target="_blank">DJPfulio@jdpfu.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;d use perl. Trivial to read a file, find the lines matching any<br>
complex regex you like, back up 3 lines and print the following 14 lines.<br>
Don&#39;t forget to handle lines that happen inside the group to be<br>
exported. Would be good to show file:linenum:LINE so it is clear -<br>
perhaps highlight the actual line with &lt;&lt; &gt;&gt; - idunno.<br>
<br>
I like Leam&#39;s regex except the leading ^ and trailing $ - these things<br>
don&#39;t need to start in col-1 or end of line. Otherwise, probably<br>
restrictive enough to minimize unwanted output.<br>
<span class="im HOEnZb"><br>
On 09/22/2016 07:30 PM, Leam Hall wrote:<br>
&gt; Why not &quot;^def*buff*altplan$&quot;? Then grep v out things you don&#39;t want.<br>
&gt;<br>
&gt; On 09/22/16 14:46, Neal Rhodes wrote:<br>
&gt;&gt; So, I need to look in about a bazillion source files for variants of<br>
&gt;&gt;<br>
&gt;&gt;     DEFINE BUFFER SNORT FOR ALTPLAN.<br>
&gt;&gt;     Define Buffer Blech for AltPlan.<br>
&gt;&gt;     Def    Buff   Blurf for AltPlan.<br>
&gt;&gt;     Def Buff Blurf for AltPlan.<br>
&gt;&gt;     def buff blurf for altplan.<br>
&gt;&gt;     define buff blurf for altplan.<br>
&gt;&gt;     define                      buffer                   blorf for<br>
&gt;&gt; altplan.<br>
&gt;&gt;     define  new shared buffer                   blorf for altplan.<br>
&gt;&gt;<br>
&gt;&gt; And grap 3 lines before, 10 lines afterwards, source file and  line#.<br>
&gt;&gt;<br>
&gt;&gt; I was thinking this would to it:<br>
&gt;&gt;<br>
&gt;&gt;     grep -i -B 3 -A 10 -H -n -r -f buf-grep.inp * &gt; buf.grep.out<br>
&gt;&gt;<br>
&gt;&gt; Where buf-grep.inp was<br>
&gt;&gt;<br>
&gt;&gt;     def*buff*for*ALTPLAN<br>
&gt;&gt;<br>
&gt;&gt;     def*buff*for*ARM<br>
&gt;&gt;<br>
&gt;&gt;     def*buff*for*ARMNOTE<br>
&gt;&gt;<br>
&gt;&gt; Alas it is not thus, and the more I study the reg exp notes the more I<br>
&gt;&gt; see there error of my ways, and the less I see an expression that would<br>
&gt;&gt; work.<br>
&gt;&gt;<br>
</span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo</a><br>
</div></div></blockquote></div><br></div>