Mettre plusieurs mots dans une variable

Résolu
GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais comment mettre le mot en gras dans une variable et le réutiliser

<p name="enbName">DADA HHHH 18 FDD</p>


3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Pas très claire ta demande ;-\

    Voila une solution, mais sans garantie vu qu'on ne connaît pas le contexte :

    $ var=$(echo '<p name="enbName">DADA HHHH 18 FDD</p>' | grep -Po '>\K[^<]*')

    $ echo "${var}"
    DADA HHHH 18 FDD


    0
    1. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonsoir Zipe31

      en fait je dois récupérer les mots DADA HHHH 18 FDD en variable pour l'utiliser dans une commande sed -i

      sed -i 's/DADA HHHH 18 FDD/BBBB KKKK 18 FDD/g'


      dans la phrase ci-dessous

      <p name="enbName">DADA HHHH 18 FDD</p>
      0
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
         
        $ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed 's#\([^>]*>\)[^<]*#\1BBBB KKKK 18 FDD#'
        <p name="enbName">BBBB KKKK 18 FDD</p>
        0
    2. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci Zipe

      est t'il possible de faire passer les mots à changer en variable

      Merci
      exemple

      sed 's#\([^>]*>\)[^<]*#\1$Var2#'
      0
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501 > GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
         
        $ var="BBBB KKKK 18 FDD"

        $ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed 's#\([^>]*>\)[^<]*#\1'"${var}"'#'
        <p name="enbName">BBBB KKKK 18 FDD</p>

        ou
        $ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed "s#\([^>]*>\)[^<]*#\1${var}#"
        <p name="enbName">BBBB KKKK 18 FDD</p>
        0
    3. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
       
      Du génie !
      0
  2. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonsoir ,

    pour plus de détails j'ai un fichier File1 avec le contenu ci-dessous

    File1
    <p name="enbName">DADA HHHH 18 FDD</p>


    File2 avec le contenu ci-dessous

    BBBB KKKK 18 FDD


    je veux obtenir le fichier File3 ci-dessous la valeur en gras du file1 sera remplacé par la valeur du File2

    File3
    <p name="enbName">BBBB KKKK 18 FDD</p>
    0
  3. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonsoir

    Merci bcp a Zipe31 pour ton support ;
    merci
    0