Loading ...
Sorry, an error occurred while loading the content.

135242Re: regex needed

Expand Messages
  • stosss
    Dec 28, 2012
    • 0 Attachment
      On Fri, Dec 28, 2012 at 11:28 PM, MacVlad <vlad.ghitulescu@...> wrote:
      > 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!

      Do this on the first one:

      :%s/\(R UN\)\([A-Z]\{2}\d\{6}[ ]\)\(\d\{5}\)/\1\2SM\3 SLA KSR-Netz SST/g

      Alter the pattern to do the same thing on the second one.

      Check out Mastering Regular Expressions Third Edition by Jeffrey E. F. Friedl

      --
      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
    • Show all 5 messages in this topic