Sed -e avec une variable contenant des "&

Résolu/Fermé
cosmokat Messages postés 7 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 22 novembre 2008 - 6 nov. 2006 à 10:56
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 6 nov. 2006 à 19:18
Bonjour à tous,

voilà j ai surmonté une premiere difficulté

help while avec awk

j' ai donc une variable FREQ = &28&29&....&40

plus loin dans mon script je dois remplacer un CA1 par FREQ

sed -e "s/CA1/$FREQ/g" file > tmp

le résultat est CA128CA129CA130CA131...CA140

Comment faire pour que sed accepte les "&" ?

Merci.

4 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
6 nov. 2006 à 14:43
Salut Jipicy,

Il y a aussi

echo "éperluette" | sed 's/^é/es/'

:P


Dal
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
6 nov. 2006 à 11:30
Salut,

Il te faut auparavant échapper tous les caractères "éperluette" (\&) dans ta variable :
FRAQ=$(echo $FREQ | sed 's/\&/\\&/g')
et ensuite utiliser cette nouvelle variable dans ta commande "sed" :
[jp@MDK tmpfs]$ cat fich.txt
mon CA1 ici

[jp@MDK tmpfs]$ echo $FREQ
&28&29&....&40

[jp@MDK tmpfs]$ sed "s/CA1/$FREQ/" fich.txt
mon CA128CA129CA1....CA140 ici

[jp@MDK tmpfs]$ FRAQ=$(echo $FREQ | sed 's/\&/\\&/g')

[jp@MDK tmpfs]$ echo $FRAQ
\&28\&29\&....\&40

[jp@MDK tmpfs]$ sed "s/CA1/$FRAQ/" fich.txt

mon &28&29&....&40 ici

[jp@MDK tmpfs]$
;-))
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
6 nov. 2006 à 14:49
Salut,

<Hors Sujet>
Attention tout les deux :-DDDDDD

C'est https://langue-francaise.tv5monde.com/decouvrir/dictionnaire?Action=1¶m=esperluette&che=1 et pas éperluette
</Hors Sujet>

---------> Je sors maintenant :-))))

lami20j
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
6 nov. 2006 à 14:59
lol

Hmm, tu veux dire comme le résultat de ma commande ?

Sinon, d'après le TLFi ( http://atilf.atilf.fr/tlf.htm ), c'est "perluette".

Et d'après celui-là : http://blog.legardemots.fr/post/2005/09/08/353-esperluette

.. il y a même "pirlouète"


Dal
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > [Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024
6 nov. 2006 à 15:09
Re,

oups, je me suis trompé (on était de même avis)
en ce cas il faut donner à jipicy une regex plus complexe :-))
/(es)?p(e|i)rlou[eè]tt?e/


lami20j
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
6 nov. 2006 à 19:18
Pfffffffffffffffffff z'avez rien d'autre à faire que de vous ficher de ma binette ??? ;-DD

Alors rien que pour vous ...

source Manon et re-source re-Manon ;-))

Et si vous me croyez pas, demander à kilian, na !!!

Bonne soirée à vous deux ;-)
0