[vim][regex] un mot oui, l'autre non

apapap Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

quelqu'un pourrait-il me rappeler siouplé, comment on fait une regex qui déclenche sur une ligne contenant, où que ce soit, un mot, mais nulle part, un autre?

exemple:

salade tomate jambon purée  
salade purée tomate   
tomate jambon salade purée  
salade purée tomate jambon  
salade purée tomate 
purée jambon tomate salade  
purée tomate salade  
saladetomatejambonpurée  
saladetomateknackpurée  
saladetomatepuréejambonyaourt


voala, le principe, c'est sélectionner TOUTE la ligne chaque fois qu'il y a de la purée mais pas de jambon (et la foutre dans un motif, pour la restituer entre /* et */ histoire de faire une grosse mise à jour d'une css de bourrin)

merci :)

du reste, je suis aussi intéressé par la regex donnant les lignes où il y a de la purée ET du jambon (bah oui quoi, de la purée sans jambon, c'est absurde)

j'ai su, je crois, mais rien à faire, je ne trouve plus, malgré mes bidouilles à coups de \@<= et tout le bataclan

4 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut l'ovoïde,

    Avec sed ça te dit ?

    [jp@MDK-64_2010 tmpfs]$ cat plop                                  
    salade tomate jambon purée
    salade purée tomate
    tomate jambon salade purée
    salade purée tomate jambon
    salade purée tomate
    purée jambon tomate salade
    purée tomate salade
    saladetomatejambonpurée
    saladetomateknackpurée
    saladetomatepuréejambonyaourt
    
    [jp@MDK-64_2010 tmpfs]$ sed '/purée/{/jambon/b;s#.*#/*&*/#}' plop
    salade tomate jambon purée
    /*salade purée tomate   */
    tomate jambon salade purée
    salade purée tomate jambon
    /*salade purée tomate */
    purée jambon tomate salade
    /*purée tomate salade  */
    saladetomatejambonpurée
    /*saladetomateknackpurée  */
    saladetomatepuréejambonyaourt
    
    [jp@MDK-64_2010 tmpfs]$ sed -n '/purée.*jambon/p' plop
    salade purée tomate jambon
    purée jambon tomate salade
    saladetomatepuréejambonyaourt
    
    [jp@MDK-64_2010 tmpfs]$

    ;-))
    0
  2. apapap Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   26
     
    salusaluche l'ami :)

    je suis une tétraburne, oui en effet du sed me va très bien, c'est nickel! quand je pense que j'ai bien perdu deux heures à m'obstiner sur du vim au lieu de passer par un coup de sed au d'awk.... mais en fait je comprends pourquoi je n'y ai pas pensé. Je fais mon développement sous windows (bah voui faut continuellement s'assurer que môôôssieur IE digère ma css) et j'ai pas mes outils de prédilection (excepté vim), et comme un crétin j'ai pas pensé à attaquer mon fichier dans une session ssh directos sur le servhör

    merchi :)

    bon je me lève ultratôt donc je traîne po, goutenarte :)

    et merde je hais ce bouton "tout accepter", à chaque fois je me fais niquer quand je veux envoyer :(

    le bouton "valider" devrait être plus gros et plus visible que ce bouton "tout accepter"
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Le bot il n'aime pas le mot le Cambronne, et encore moins quand on l'associe en 2nd intention à d'autres noms de zoizos ;-))

      Happy que sed ait fait ton affaire ;-))
      0
  3. apapap Messages postés 654 Date d'inscription   Statut Membre Dernière intervention   26
     
    et zobilamouche ça passe?
    0