複数のHTMLコードスニペットを変更する方法

複数のHTMLコードスニペットを変更する方法

変更する HTML ページには、いくつかの HTML コードスニペットがあります。下記をご覧ください。

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

到着

[{headerbebeco}]

または

http://www.bebeco.fr

到着

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

1つの可能性は、メモ帳などのツールを使用して各部分を手動で変更することです。

想像できるように、障害物やミス、悩みがたくさんありました。

もう1つの可能性は、sedやawkなどのツールを使用して自動化することです。

私はこの2行を思い出しました。

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

しかし、awkやsedにないこの行は満足です。つまり、私が望む代替操作を実行しません。

プログラムでこれを実行できるツールがあるかどうか疑問に思います。 Bashは破損しているようですが、PythonやBash、またはプログラムに他の解決策がある場合は、喜んで聞きましょう。

乾杯。

アップデート:以下の例

すべてのメッセージが届いたことを確認してください。[Eメール保護]ボートルカルネダードの住所。
難しいことがある場合は、視覚的なメッセージで会いましょう。

答え1

Sedawkまたは一つラインエディタ。 2行を1つにマージするか、オプション(GNU sedバージョン> 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

しかし、ほとんどの場合、すべての文字列をパターンとして使用することはできず、時には数単語だけで十分です。

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

または

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

関連情報