Menu

Mettre plusieurs mots dans une variable [Résolu/Fermé]

Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
- - Dernière réponse : GHISLINO
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
- 25 mai 2018 à 20:11
Bonjour,

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

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





Afficher la suite 

3 réponses

Messages postés
36521
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
19 mai 2019
5785
0
Merci
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


GHISLINO
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
-
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>
zipe31
Messages postés
36521
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
19 mai 2019
5785 > GHISLINO
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
-
$ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed 's#\([^>]*>\)[^<]*#\1BBBB KKKK 18 FDD#'
<p name="enbName">BBBB KKKK 18 FDD</p>
GHISLINO
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
-
Merci Zipe

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

Merci
exemple

sed 's#\([^>]*>\)[^<]*#\1$Var2#'
zipe31
Messages postés
36521
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
19 mai 2019
5785 > GHISLINO
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
-
$ 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>
Exileur
Messages postés
1349
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
9 mai 2019
101 -
Du génie !
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
0
Merci
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>
Messages postés
161
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
16 juin 2018
0
Merci
Bonsoir

Merci bcp a Zipe31 pour ton support ;
merci