Friday, December 28, 2012

Re: regex needed

Thanks, sunja, it works!


Am Samstag, 29. Dezember 2012 06:00:51 UTC+1 schrieb sunjia:
> 1.- Every time when a "R UN" in column 1 occurs, replace then the 5 digits ##### on column 14 (like 57075 in the first row) with "SM##### SLA KSR-Netz SST" (that would change the first row from "R UNZK904326 57075" to "R UNZK904326 SM57075 SLA KSR-Netz SST");
>
>
>
> [sunjia:]
> :g/^R UN/s/\d\{5}$/SM& SLA KSR-Netz SST/
>
> 2.- For every row with "R UL" in column 1, replace then the 5 digits ##### on column 14 (like 57376 in the row 15) with "SM##### SLA KSR-Lief SST" (that would change the row 15 from "R ULZK908272 57376" to "R ULZK908272 SM57376 SLA KSR-Lief SST");
>
>
>
>
> [sunjia:]
> :g/^R UL/s/\d\{5}$/SM& SLA KSR-Lief SST/
>
>
>
>
> other lines will not be changed.
>
>
>
> 2012/12/29 MacVlad <vlad.gh...@gmx.de>
>
> Hello!
>
>
>
>
>
> I have a text-file that looks like this:
>
>
>
> ---
>
> R UNZK904326 57075
>
> P UNZK904385 57127
>
> P UNZK904328 57053
>
> P ULZK908062 57101
>
> P UNZK904322 56498
>
> R UNZK904386 57108
>
> P UNZK904288 56383
>
> P UNZK904397 56383
>
> P UNZK904444 56878
>
> R UNZK904465 57253
>
> R UNEK919821 57025
>
> R UNEK919745 57259
>
> R UNZK904527 55769
>
> R UNEK919814 55944
>
> R ULZK908272 57376
>
> R UNZK904471 56355
>
> R ULZK908371 55393
>
> R UNZK904574 56646
>
> R UNEK919701 56974
>
> R UNZK904565 57598
>
> R UNZK904603 57649
>
> R ULZK908326 57471
>
> R UNZK904588 57610
>
> R ULZK908324 57514
>
> R ULZK908307 57614
>
> P ULZK908369 57149
>
> R UNZK904603 57649
>
> R UNEK919933 57643
>
> P ULEK935569 56373
>
> P ULEK935571 57504
>
> P ULZK908295 56122
>
> P ULZK908484 57149
>
> P UNEK919781 56816
>
> P UNEK919785 56747
>
> P UNEK919959 56615
>
> P ULEK935884 56951
>
> P ULEK935886 56845
>
> P UNZK904559 57572
>
> R ULEK935659 57784
>
> R ULEK935727 56203
>
> R ULEK935729 56474
>
> R ULEK935860 57871
>
> R ULEK935938 57946
>
> R ULEK935866 57885
>
> R ULZK908389 57584
>
> R ULZK908389 57743
>
> R ULZK908397 57707
>
> R ULZK908401 57743
>
> R ULZK908477 57647
>
> R ULZK908505 57853
>
> R ULZK908508 57672
>
> R UNZK904601 57598
>
> R UNZK904597 56581
>
> R ULZK908545 57897
>
> R ULZK908270 57469
>
> R UNZK904619 57688
>
> V ULZK908382 57724
>
> V ULZK908431 57724
>
> R UNZK904746 56581
>
> R ULZK908686 57754
>
> R ULEK935997 56474
>
> R ULZK908690 57975
>
> R ULEK936068 57999
>
> R ULZK908692 57208
>
> R ULEK935991 57956
>
> R ULZK908696 57955
>
> R ULEK936078 57983
>
> R UNZK904463 55662
>
> R ULEK936070 56010
>
> P ULEK936122 56478
>
> R ULZK908377 57623
>
> P ULEK936126 57671
>
> P ULEK936136 56784
>
> P ULEK936148 57102
>
> R UNEK920127 57622
>
> R UNZK904680 57294
>
> P ULEK936158 56303
>
> R ULEK935862 57800
>
> R ULZK908515 57636
>
> R ULEK935862 58097
>
> R ULEK936166 57800
>
> R ULZK908377 57623
>
> ---
>
>
>
> I want to make the following changes:
>
>
>
> 1.- Every time when a "R UN" in column 1 occurs, replace then the 5 digits ##### on column 14 (like 57075 in the first row) with "SM##### SLA KSR-Netz SST" (that would change the first row from "R UNZK904326 57075" to "R UNZK904326 SM57075 SLA KSR-Netz SST");
>
>
>
>
> 2.- For every row with "R UL" in column 1, replace then the 5 digits ##### on column 14 (like 57376 in the row 15) with "SM##### SLA KSR-Lief SST" (that would change the row 15 from "R ULZK908272 57376" to "R ULZK908272 SM57376 SLA KSR-Lief SST");
>
>
>
>
> 3.- Leave the others rows unchanged.
>
>
>
> Could you please help me with a regex in order to do this in VIM? Thank you!
>
>
>
>
>
> Regards,
>
> Vlad Ghitulescu
>
>
>
> --
>
> You received this message from the "vim_use" maillist.
>
> Do not top-post! Type your reply below the text you are replying to.
>
> For more information, visit http://www.vim.org/maillist.php

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: