Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/12/2013, à 22:35

percherie

Sed : nettoyer un fichier HTML

Bonsoir à tous, j'espère que vous passez de bonnes fêtes.


Je remet les doigts dans sed (pas seb, c'est pas propre) et comme à chaque fois je perd mono latin. Je cherche à nettoyer un fichier HTML que je génère régulièrement. J'utilise à chaque fois Gedit avec la fonction Rechercher/Remplacer mais si j'arrive à faire un script en shell ça peut bien aider.

Pour rechercher tous les caractères entre deux balise (texte, tabulation, espace, autres caractère) est ce que je doit tout spécifier caractère par caractère ou est ce qu'il existe une solution comme \w

Par exemple à partir de

- Capture AP:        1750" style="padding: 3px; vertical-align: top; cursor: help; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(11, 49, 78); color: white; background-color: rgb(1, 127, 1); text-align: right !important; white-space: nowrap;">2 911</td></tr><tr class="enl" style="color: rgb(3, 254, 3) !important;"><td style="padding: 3px; vertical-align: top; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(11, 49, 78); color: white; background-color: rgb(1, 127, 1); text-align: center; white-space: nowrap;">2</td><td class="portalTitle" style="padding: 3px; vertical-align: top; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(11, 49, 78); color: white; background-color: rgb(1, 127, 1); text-align: left; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 120px !important; max-width: 240px !important;"><a title="

Je pensait commencer ma chaîne par -Capture AP, indiquer un truc qui permet de tout trouver et finir par <a title="

Sur Gedit ça donnerai : -Capture AP.*<a title="

Quel serait l'équivalent de .* (point et étoile) en sed ?


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#2 Le 29/12/2013, à 07:08

pingouinux

Re : Sed : nettoyer un fichier HTML

Bonjour,
Dans une chaîne de recherche en sed, .* représente zéro ou un nombre quelconque de caractères (situés sur un même ligne).

Hors ligne

#3 Le 29/12/2013, à 17:11

percherie

Re : Sed : nettoyer un fichier HTML

Merci,

-Capture AP.*<a title="

ne fonctionne pas mais

.*<a title="

fonctionne pourquoi ?? Que syntaxe n'ai je pas respecté ?


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#4 Le 29/12/2013, à 17:59

pingouinux

Re : Sed : nettoyer un fichier HTML

C'est parce que, d'après ton exemple en #1, c'est

- Capture AP

et non

-Capture AP

Hors ligne

#5 Le 29/12/2013, à 20:49

percherie

Re : Sed : nettoyer un fichier HTML

Hooo quel boulet... t'a l'oeil.

Dernière question si dans la chaîne

adaBafaBazaBcde

je souhaite supprimer tous ce qu'il y a jusqu'au premier B ? J'ai fait quelques essais mais ça me supprime tout jusqu'au dernier B.

J'utilise un code similaire à

sed -i 's/a.*B//' Test.txt

Dernière modification par percherie (Le 29/12/2013, à 20:50)


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#6 Le 29/12/2013, à 20:56

pingouinux

Re : Sed : nettoyer un fichier HTML

sed -i 's/a[^B]*B//' Test.txt

Hors ligne

#7 Le 29/12/2013, à 22:02

percherie

Re : Sed : nettoyer un fichier HTML

ça à l'air tellement simple en lisant la réponse.

Je suis parti sur une solution qui utilise les référence arrière. ça tombai pile poil pour réutiliser certains éléments


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne