[RESOLU][SED] Modifier une chaine avec un caractère mystère

Modifier une chaine avec un caractère mystère [RESOLU][SED] - Shell/Batch - Programmation

Marsh Posté le 13-12-2005 à 16:43:14    

Bonjour,
 
J'ai un fichier contenant plein de chaines de caractères collées (c'est un fichier plat).
Pour chaque ligne, j'ai un meme élément qui apparait. La chaine, situé en début de ligne, est identique a l'exception d'un caractère.
Exemple :
toto,2,
toto,3,
toto,1,
 
Je dois remplacer ces chaines par autre chose mais mon soucis est le caractère changeant.
 
J'ai pour le moment utilisé SED car apparemment il fait ce que je dois réaliser mais le soucis est que je n'arrive pas à prendre en compte le caractère mystère pour le supprimer.
J'ai pas mal cherché et là, je commence à avoir sérieusement mal aux yeux ...
 
Quelqu'un aurait-il une piste ?
 
Merci,
Worldofdada


Message édité par Worldofdada le 13-12-2005 à 17:23:05
Reply

Marsh Posté le 13-12-2005 à 16:43:14   

Reply

Marsh Posté le 13-12-2005 à 16:57:23    

[a-zA-Z0-9] par exemple si c'est toujours une lettre ou un chiffre (cf. l'usage des expressions régulières).

Reply

Marsh Posté le 13-12-2005 à 17:10:54    

Tu peux voir aussi ton fichier comme une succession de champs séparés par une virgule.
 
Dans ce cas, tu peux utiliser cut ou awk.
 
Par quoi dois-tu remplacer ton second champ ?

Reply

Marsh Posté le 13-12-2005 à 17:14:23    

sinon "." ça marche bien aussi... t'auras juste un problème si des fois tu n'as pas de valeur perso je mettrais

Code :
  1. sed -e "s/toto,[^,]*,//"


 
edit: missing "


Message édité par anapajari le 13-12-2005 à 17:15:02
Reply

Marsh Posté le 13-12-2005 à 17:22:50    

Cool, merci beaucoup : la méthode du [0-9] marche parfaitement.
 
Je vais essayer la 2eme méthode

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed