Menu

Script sh - sed : suppression pattern dans un fichier [Résolu/Fermé]

Messages postés
214
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
1 avril 2016
- - Dernière réponse : snow_frog
Messages postés
214
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
1 avril 2016
- 22 nov. 2013 à 16:54
Bonjour,

voilà mon problème:

je souhaite supprimer d'un fichier la/les lignes contenant un motif défini dans une variable
sed '/motif/d'
mais mon "motif" n'a pas l'air d'être pris en compte

voilà mon motif: -628.402;560.101


@home> cat fichier.txt
-640.152;637.308;0.0
-636.098;611.594;0.0
-632.181;585.858;0.0
-628.402;560.101;0.0
-624.763;534.325;0.0

@home> set MOTIF="-628.402;560.101"
@home> cat fichier.txt | sed '/$MOTIF/d'
-640.152;637.308;0.0
-636.098;611.594;0.0
-632.181;585.858;0.0
-628.402;560.101;0.0
-624.763;534.325;0.0

la suppresiion n'a pas fonctionnée...

j'ai essayé des accolades autour de ${MOTIF} et mainteant je seche (et oui déjà...

avez-vous une solution ?
Afficher la suite 

2 réponses

Messages postés
36583
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
23 juin 2019
3627
0
Merci
Salut,

$ cat brol
-640.152;637.308;0.0
-636.098;611.594;0.0
-632.181;585.858;0.0
-628.402;560.101;0.0
-624.763;534.325;0.0

$ MOTIF="-628.402;560.101"

$ sed "/${MOTIF}/d" brol 
-640.152;637.308;0.0
-636.098;611.594;0.0
-632.181;585.858;0.0
-624.763;534.325;0.0

$ sed '/'"${MOTIF}"'/d' brol 
-640.152;637.308;0.0
-636.098;611.594;0.0
-632.181;585.858;0.0
-624.763;534.325;0.0

Messages postés
214
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
1 avril 2016
114
0
Merci
merci!

il me manquait donc le double quote...
le pire, 'est que j'ai du l'essayé, mais pas avec les accolades...


sed "/${MOTIF}/d" brol

sed '/'"${MOTIF}"'/d' brol