shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sed replace na primeira e segunda ocorrência após string


From: lmacieljr
Subject: sed replace na primeira e segunda ocorrência após string
Date: 28 Mar 2018 19:22:25 +0000

Olá pessoal, tudo bem?

Preciso de uma ajuda. Tenho uma string e preciso fazer algumas substituições.

A string está estruturada assim:

ADDITEM=(número entre 1 e 99999),(número entre 1 e 99999),(qualquer caractere alfanumérico ou não, visível,incluindo ponto,vírgula, exclamação, interrogação, etc)&(repetição do padrão iniciando com ADDITEM)

Esta é a string original:

ADDITEM=24720,1,BITS PHIL.CTPOHR N2 X  70MM C/10&ADDITEM=24722,1,BITS PHIL.CTPOHR N2 X 127MM C/10&ADDITEM=24723,1,BITS PHIL.CTPOHR N2 X 150MM C/10&ADDITEM=24724,1,BITS PHIL.CTPOHR TITAN.2X25MM C/10&ADDITEM=24725,1,BITS PHIL.CTPOHR TITAN.2X50MM C/10&ADDITEM=14862,10,BITS PHIL.MAKITA N,1 X 25MM / 656&ADDITEM=14863,20,BITS PHIL.MAKITA N,2 X 25MM / 657&ADDITEM=20026,20,BITS PHIL.MAKITA N,3 X 25MM / 65 &ADDITEM=14865,10,BITS PHIL.MAKITA N.1 X 50MM / 666&ADDITEM=14866,10,BITS PHIL.MAKITA N.2 X 50MM / 667

Preciso substituir a primeira e a segunda vírgula após ADDITEM, ambas por </td><td>

Não posso simplesmente pedir ao sed para substituir todas as vírgulas pois há produtos que tem vírgula na descrição.

Ao final a string ficará assim:

<tr><td>24720</td><td>1</td><td>BITS PHIL.CTPOHR N2 X  70MM C/10</td><td>24722</td><td>1</td><td>BITS PHIL.CTPOHR N2 X 127MM C/10</td><td>24723</td><td>1</td><td>BITS PHIL.CTPOHR N2 X 150MM C/10</td><td>24724</td><td>1</td><td>BITS PHIL.CTPOHR TITAN.2X25MM C/10</td><td>24725</td><td>1</td><td>BITS PHIL.CTPOHR TITAN.2X50MM C/10</td><td>14862</td><td>10</td><td>BITS PHIL.MAKITA N,1 X 25MM / 656</td><td>14863</td><td>20</td><td>BITS PHIL.MAKITA N,2 X 25MM / 657</td><td>20026</td><td>20</td><td>BITS PHIL.MAKITA N,3 X 25MM / 65 </td><td>14865</td><td>10</td><td>BITS PHIL.MAKITA N.1 X 50MM / 666</td><td>14866</td><td>10</td><td>BITS PHIL.MAKITA N.2 X 50MM / 667</tr>


Quanto às substituições no início e no final da string nenhum problema. O uso do sed com ^ e $ resolvem a questão.


O ponto é identificar a primeira e a segunda vírgula após ADDITEM e fazer a substituição.


Alguém consegue me ajudar?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]