como alterar vários pedaços de código html

0

Eu tenho vários pedaços de código HTML, veja abaixo, em uma página html que eu preciso mudar

Assurez-vous de bien recevoir tous nos messages en ajoutant [email protected] à votre carnet d'adresses.<br />
Si vous avez des difficultés pour visualiser ce message, rendez-vous sur

para

[{headerbebeco}]

ou

http://www.bebeco.fr

para

http://mm.eulerian.net/dynclick/bebeco/?eml-publisher=bebeco&eml-name=deme_faible&eemail={email}&eurl=https://www.bebeco.fr/?utm_source=ANIM&utm_medium=Targeting&utm_campaign=deme_faible&utm_term=CCCC_seg_men&utm_content=website

Uma coisa possível a fazer é mudar cada parte à mão com coisas como o bloco de notas.

Como você pode imaginar, muitos tropeções, erros e puxões de cabelo.

Um outro possível é automatizá-lo com ferramentas como sed ou awk.

Eu saí com essas duas linhas.

awk -v old="Assurez-vous de bien recevoir tous nos messages en ajoutant      [email protected] a votre carnet d'adresses.<br />
 Si vous avez des difficult&eacute;s pour visualiser ce message, rendez-vous sur " -v   new="[{headerbebeco}]" 's=index($0,old){$0=substr($0,1,s-1) new   substr($0,s+length(old))}1' test_bebeco_v2.html > tmp && mv tmp test_bebeco_v2.html

sed -i 's~Assurez-vous de bien recevoir tous nos messages en ajoutant [email protected] a votre carnet d'adresses.<br /> Si vous avez des difficult&eacute;s pour visualiser ce message, rendez-vous sur~[{headerbebeco}]~g' test_Sofinco_v2.html

Mas nenhuma destas linhas, nem no awk nem no sed, são satisfatórias, e. não está fazendo as substituições que estou tentando fazer.

Eu estou querendo saber se existem ferramentas onde eu posso fazer isso, seja programando. O Bash parece estar comprometido, mas se você tiver outras soluções em python ou em bash ou apenas em um programa, estou disposto a ouvir.

Felicidades.

update: amostra abaixo

Assurez-vous de bien recevoir tous nos messages en ajoutant [email protected] a votre carnet d'adresses.
Você está convidado a enviar uma mensagem para este site, em rendez-vous sur

    
por Andy K 24.02.2015 / 16:58

1 resposta

1

Sed ou awk são um editores de linha. Você tem que juntar duas linhas em uma ou usar opções (existem em GNU sed versões > 4.2.1)

sed -zi 's~Assurez-vous de bien recevoir tous nos messages en ajoutant bebeco@cab05\.net a votre carnet d'\''adresses.<br />\n Si vous avez des difficult\&eacute;s pour visualiser ce message, rendez-vous sur~[{headerbebeco}]~g' test_Sofinco_v2.html

Mas na maioria dos casos você não colocou todas as strings como padrão, algumas vezes bastam algumas palavras:

sed -i '/^Assurez-vous de bien/{N; /rendez-vous sur$/s/.*/[{headerbebeco}]/}' test_Sofinco_v2.html

ou

sed -i '/^Assurez-vous de bien/d;/Si vous avez des difficultés pour visualiser ce message, rendez-vous sur/s//[{headerbebeco}]/}' test_Sofinco_v2.html
    
por 24.02.2015 / 17:08