Hi Chris

(For some reason my messages here occur only several hours after I've sent 
them ...)

Thank you very much indeed – your AppleScript works perfectly well here (8 
seconds when applied to my file of 8,000 lines), the result is the same as 
when I run Christian's script. So I can even choose between the two!

samar
On Sunday, March 21, 2021 at 9:47:34 AM UTC+1 listmei...@gmail.com wrote:

> On 03/20/2021, at 15:48, John Delacour <johnde...@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 <script...@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/f552240a-d802-4227-9311-8d441c01ac61n%40googlegroups.com.

Reply via email to