Mettre plusieurs mots dans une variable

Résolu/Fermé
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 3 mai 2018 à 18:05
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 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>





3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
3 mai 2018 à 19:02
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
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
3 mai 2018 à 19:50
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
3 mai 2018 à 20:08
$ echo '<p name="enbName">DADA HHHH 18 FDD</p>' | sed 's#\([^>]*>\)[^<]*#\1BBBB KKKK 18 FDD#'
<p name="enbName">BBBB KKKK 18 FDD</p>
0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
3 mai 2018 à 20:34
Merci Zipe

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

Merci
exemple

sed 's#\([^>]*>\)[^<]*#\1$Var2#'
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
3 mai 2018 à 22:36
$ 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
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
9 mai 2018 à 20:15
Du génie !
0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
3 mai 2018 à 20:07
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
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
25 mai 2018 à 20:11
Bonsoir

Merci bcp a Zipe31 pour ton support ;
merci
0