Sed
Résolu
payta
Messages postés
1
Statut
Membre
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je tente deseperement de suprimer des lignes contenant une série de chifres dans un dossie rde ce type:
TEST.txt
m m m m
-170.664 -170.664 0.00000000 0.00000000
-169.336 -171.664 0.00000000 0.00000000
m m m m
si je tape:
sed /170./d TEST.txt
rien ne se passe
si je tape:
sed /1/d TEST.txt
donne
m m m m
m m m m
si je tape:
sed /[17]/d TEST.txt
donne
m m m m
m m m m
si je tape:
sed /170/d TEST.txt
donne
m m m m
m m m m
En défintive sed suprime toutes les composantes de ma chaines de caracteres.
Comment le restreindre à exclusivement une suite de caractere.
D'avance merci
Je tente deseperement de suprimer des lignes contenant une série de chifres dans un dossie rde ce type:
TEST.txt
m m m m
-170.664 -170.664 0.00000000 0.00000000
-169.336 -171.664 0.00000000 0.00000000
m m m m
si je tape:
sed /170./d TEST.txt
rien ne se passe
si je tape:
sed /1/d TEST.txt
donne
m m m m
m m m m
si je tape:
sed /[17]/d TEST.txt
donne
m m m m
m m m m
si je tape:
sed /170/d TEST.txt
donne
m m m m
m m m m
En défintive sed suprime toutes les composantes de ma chaines de caracteres.
Comment le restreindre à exclusivement une suite de caractere.
D'avance merci
2 réponses
-
Salut,
Je ne suis pas sûr d'avoir tout pigé ;-(
En définitif à quoi devrait ressembler ton fichier une fois la commande appliquée ?
-
Salut et merci de t'interesser à mon probleme.
Le fait qu'il suprime toute les lignes avec '1' '7' '0' et '.'
Alors que je voudrais seulement '170.'
En tapant:
sed /170./d TEST.txt
devrait donner
m m m m
-169.336 -171.664 0.00000000 0.00000000
m m m m
Merci-
Ben normalement c'est bien ce que ça devrait faire :
$ cat fich m m m m -170.664 -170.664 0.00000000 0.00000000 -169.336 -171.664 0.00000000 0.00000000 m m m m $ sed '/170./d' fich m m m m -169.336 -171.664 0.00000000 0.00000000 m m m m $
Sur quel système es-tu ? Quel shell ? Quelle version de "sed" ? -
Ok, je pense avoir compris,
Je suis sur mac osx 10.8 et mon terminal en bash, le fichier avait été enregistré en UTF-16, ce qui ne permettait pas de faire fonctionner la commande sed correctement.
Une fois avoir copié ton extrait dans un nouveau fichier généré cette fois via mon terminal, tout marche parfaitement.
Merci!!! -
-