Here is a two stage regex solution. Assuming no bullets (•) in your file,

Search: ^([^\t]+)\t([^\t]+)\r(?=\1)
replace: \1\t\2\r•

Search: •[^\t]+
Replace with empty

On Sun, 21 Mar 2021 at 08:47, Christopher Stone <listmeister...@gmail.com>
wrote:

> On 03/20/2021, at 15:48, John Delacour <johndelac...@gmail.com> wrote:
>
> That makes no sense to me.  If the current col1 is identical to col1 of
> the previous line, then the value will not be printed; that is the clear
> logic of the routine.  I cannot reproduce your error.
>
> ------------------------------
>
> Hey Folks,
>
> I'm with JD on this one.  I ran his script on a sample file, and it
> performed as expected.
>
> Samar – I'd want a zipped copy of your test file that's failing to test.
> Also - you said you're working with a *large* file.  How large?  It makes
> a difference in how one approaches the problem.
>
> I like JD's Perl solution for this.  It's neat, clean, fast, and will
> handle big files with ease.
>
> If I *was* to use AppleScript I'd go this route:
>
> -----------------------------------------------------------
> # Auth: Christopher Stone <scriptmeis...@thestoneforge.com>
> # dCre: 2021/03/21 02:56
> # dMod: 2021/03/21 02:56
> # Appl: BBEdit
> # Task: Massage Text of Columns A and B of a Table.
> # Libs: None
> # Osax: None
> # Tags: @Applescript, @Script, @BBEdit
> -----------------------------------------------------------
>
> *set* colAStr *to* *missing value*
> *set* {oldTIDS, AppleScript's text item delimiters} *to* {AppleScript's text
> item delimiters, tab}
>
> *tell* *application* "BBEdit" *to* ¬
>     *set* paragraphList *to* contents *of* *lines* *of* *front* *document*
> *where* *its* contents *is* *not* ""
>
> *repeat* *with* i *in* paragraphList
>     *if* colAStr = *text item* 1 *of* i *then*
>         *set* contents *of* i *to* tab & *text item* 2 *of* i
>     *else*
>         *set* colAStr *to* *text item* 1 *of* i
>     *end* *if*
> *end* *repeat*
>
> *set* AppleScript's text item delimiters *to* linefeed
> *set* paragraphList *to* paragraphList *as* *text*
> *set* AppleScript's text item delimiters *to* oldTIDS
>
> *tell* *application* "BBEdit" *to* ¬
>     *set* *text* *of* *front* *document* *to* paragraphList
>
> -----------------------------------------------------------
>
> Although it could bog down with very big files.
>
>
> --
> Best Regards,
> Chris
>
> --
> This is the BBEdit Talk public discussion group. If you have a feature
> request or need technical support, please email "supp...@barebones.com"
> rather than posting here. Follow @bbedit on Twitter: <
> https://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 bbedit+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/bbedit/B75B0684-484C-4034-AF69-D0731A9FE590%40gmail.com
> <https://groups.google.com/d/msgid/bbedit/B75B0684-484C-4034-AF69-D0731A9FE590%40gmail.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Kaveh Bazargan PhD
Director
River Valley Technologies <http://rivervalleytechnologies.com/> ● Twitter
<https://twitter.com/rivervalley1000> ● LinkedIn
<https://www.linkedin.com/in/bazargankaveh/> ● ORCID
<https://orcid.org/0000-0002-1414-9098>
*Accelerating the Communication of Research*

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or need technical support, please email "supp...@barebones.com" rather than 
posting here. Follow @bbedit on Twitter: <https://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 bbedit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/CAJ2R9phrfyDckhU2d_Vp6p4XVb4npEcB7Z0DvOUtzMDzBac9Mg%40mail.gmail.com.

Reply via email to