Mettre plusieurs mots dans une variable

Résolu
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. Contributeur
    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


    1. 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>
    2. Contributeur
      @GHISLINO
      $ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed 's#\([^>]*>\)[^<]*#\1BBBB KKKK 18 FDD#'
      <p name="enbName">BBBB KKKK 18 FDD</p>
    3. Merci Zipe

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

      Merci
      exemple

      sed 's#\([^>]*>\)[^<]*#\1$Var2#'
    4. Contributeur
      @GHISLINO
      $ 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>
    5. Du génie !
  2. 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>