Sed et plus si affinités :p - Page 2

Résolu
Précédent
  • 1
  • 2
  1. bkrqpzef Messages postés 213 Statut Membre 5
     
    Incroyable.
    Ca fonctionne maintenant sur Cygwin... Alors j'avoue ne plus rien comprendre... (déjà que c'était pas terrible)
    0
  2. bkrqpzef Messages postés 213 Statut Membre 5
     
    Code Mandriva (copié/collé cette fois)
    [eriksen@localhost Bureau]$ cat page.html
    <html>
    <head></head>
    <body>
    <span>&#65533;"'(-&#65533;_&#65533;&#65533;)=^$&#65533;*iokl,;:</span>
    <span class="classe">bob</span>
    <div>&#65533;_&-"(&#65533;&#65533;&)"(&#65533;&#65533;&#65533;)</div>
    <span class="classe">gilbert</span>
    <span>$^m$^lsm)=&#65533;(&#65533;&#65533;</span>
    <span class="classe">norbert</span>
    <span>sqdsqdqdsqxc</span>
    <div>xfpqozqighpin</div>
    <p>$&#65533;qm*xqf&#65533;l</p>
    </body>
    [eriksen@localhost Bureau]$ sed -ns '\#<span class=.*</span><br/>#p' page.html
    [eriksen@localhost Bureau]$
    

    Le mystère reste entier ...
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Le mystère reste entier ...
      Je ne te le fais pas dire ;-\
      0
  3. bkrqpzef Messages postés 213 Statut Membre 5
     
    Un grand merci à toi en tout cas. Tu viens de montrer que tu restes incollable sur sed. :p
    Je ne pensais pas que cette commande pouvait être aussi importante. (Il se trouve que je vais en avoir besoin souvent)
    Je vais travailler dessus ça a l'air vraiment trop pratique de s'y connaitre !!!
    Merci encore et désolé pour ces mésaventures assez étranges...
    0
  4. bkrqpzef Messages postés 213 Statut Membre 5
     
    Donc pour la postérité :
    Réponse :
    sed -ns '\#<span class=.*</span><br/>#p' page.html

    Mais euh pas tout le temps et pas partout. A suivre... :p
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bkrqpzef Messages postés 213 Statut Membre 5
     
    Bon il y a eu des complications........
    Donc voilà, j'ai bidouillé sed pas mal et je viens de trouver mon bonheur avec :
    sed -i '/classe/!d' *.*
    (supprime toutes les lignes de tous les fichiers sauf celles où il y a "classe")
    cat *.* > bkrqpzef
    (concatène tous les fichiers dans un seul)

    Par contre là je suis à la recherche de la même commande, mais qui serait capable d'avoir 2 exceptions.
    Du style "classe" OU "bateau".
    J'ai pensé rapidement à
    sed -i '/classe/!d *.* && sed -i '/bateau/!d *.*

    Mais euuuh il écrase à la première donc il ne reste pas de "bateau" alors en fait il enlève un peu tout...

    Par exemple pour :
    chaise
    bateau
    bob
    classe

    Comment garder "bateau" ET "classe".
    Une idée svp ?
    Merci :)
    0
  7. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    L'option -i n'est pas nécessaire ici dans la mesure où tu rediriges la sortie dans un fichier. En fait elle n'est utile que pour modifier le fichier source.
    sed  '/classe\|bateau/!d' *.* > fichier
    devrait faire l'affaire ;-))
    0
  8. bkrqpzef Messages postés 213 Statut Membre 5
     
    Hooo.
    C'est beau de voir quelqu'un qui maitrise. Plus grand, je serais comme toi !! :p
    Merci encore.
    0
Précédent
  • 1
  • 2