Thank you Chris, Kerri and Sam.
Got what I need. Much appreciated.

On Thursday, May 3, 2018 at 10:16:36 PM UTC-7, Christopher Stone wrote:
>
> On 05/02/2018, at 12:25, Matthew London <[email protected] <javascript:>> 
> wrote:
>
> I have a file with the following:
>
> &&&
> TEXT STRING I WANT TO KEEP
> ###
> TEXT STRING I WANT TO DELETE
> &&&
> TEXT STRING I WANT TO KEEP
> etc,
>
>
> Where there is a linebreak after &&&, ###, and all text strings
>
> ------------------------------
>
> Hey Matthew,
>
> You weren't clear about whether your source text contains strings other 
> than &&&…keep and ###…delete, so for the moment I'll assume these two types 
> are the only content in the file.
>
> ------------------------------
>
> For information on installing and using BBEdit's text filters see (here 
> <http://www.bbeditextras.org/wiki/index.php?title=Text_Filters>).
>
> ------------------------------
>
> This text-filter removes all but your *keep* text.  It does this by 
> finding your keep symbol and printing the following line.
>
> #!/usr/bin/env bash
> sed -En '/^&&&/{n;p;}' # Print next line after found regex.
>
> ------------------------------
>
> This text-filter prints the *keep* symbol and the following line.
>
> #!/usr/bin/env bash
> sed -En '/^&&&/,/[^[:blank:]]/{p;}' # Print found Regex and the next line 
> after it.
>
> ------------------------------
>
> Sed is very quick and efficient for this sort of job, but it's not the 
> only game in town.
>
> ------------------------------
>
> This text-filter uses egrep to find the regex and the line after it.  It 
> then uses sed to delete any record separators “--” egrep places between 
> found records.
>
> #!/usr/bin/env bash
>
> egrep -i -A1 "^&&&" | sed -E '/^--/d'
>
> Output:
>
> &&&
> TEXT STRING I WANT TO KEEP
> &&&
> TEXT STRING I WANT TO KEEP
>
> ------------------------------
>
> We can build on the above and also delete the *keep* symbol.
>
> #!/usr/bin/env bash
>
> egrep -i -A1 "^&&&" | sed -E '/^(--|&&&)/d'
>
> Output:
>
> TEXT STRING I WANT TO KEEP
> TEXT STRING I WANT TO KEEP
>
> ------------------------------
>
> Lastly I'll trot out the 900lb gorilla — Perl.
>
> #!/usr/bin/env perl -sw
>
> while (<>) {
>     print if $,; $, = /^&&&/
> }
>
> Output:
>
> TEXT STRING I WANT TO KEEP
> TEXT STRING I WANT TO KEEP
>
> ------------------------------
>
> #!/usr/bin/env perl -sw
>
> while (<>) {
>     print if /^&&&/;
>     print if $,; $, = /^&&&/
> }
>
> Output:
>
> &&&
> TEXT STRING I WANT TO KEEP
> &&&
> TEXT STRING I WANT TO KEEP
>
> ------------------------------
>
> --
> Best Regards,
> Chris
>
>

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or would like to report a problem, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/bbedit.

Reply via email to