|
From: | Julio C. Neves |
Subject: | Re: [shell-script] sed replace na primeira e segunda ocorrência após string |
Date: | Wed, 28 Mar 2018 18:50:34 -0300 |
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
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?
[Prev in Thread] Current Thread [Next in Thread]
- sed replace na primeira e segunda ocorrência após string, lmacieljr, 2018/03/28
- Re: [shell-script] sed replace na primeira e segunda ocorrência após string, Julio C. Neves <=
- Re: [shell-script] sed replace na primeira e segunda ocorrência após string, Julio C. Neves, 2018/03/29
- Re: [shell-script] sed replace na primeira e segunda ocorrência após string, T.Collons, 2018/03/28
- Re: [shell-script] sed replace na primeira e segunda ocorrência após string, Luiz Alberto, 2018/03/29
- Re: [shell-script] sed replace na primeira e segunda ocor rência após string, lmacieljr, 2018/03/29
- Prev by Date: sed replace na primeira e segunda ocorrência após string
- Next by Date: Re: [shell-script] sed replace na primeira e segunda ocorrência após string
- Previous by thread: sed replace na primeira e segunda ocorrência após string
- Next by thread: Re: [shell-script] sed replace na primeira e segunda ocorrência após string
- Index(es):