: supprimer des caractères en fin de lignes [Shell] - Shell/Batch - Programmation
Marsh Posté le 11-03-2009 à 12:32:14
un parseur parait une bonne solution 
tu pars de la fin de ta chaine et tu retire toutes les caracteres = ',' des que tu trouve un caractere different de ',' tu arete ta boucle et tu affiche 
Marsh Posté le 11-03-2009 à 13:26:43
Quel système d'exploitation ? 
 
Sous Unix, il suffit d'écrire : 
sed 's/,*$//g' [ton fichier] > [un autre fichier] 
 
Ou encore, quelque soit l'OS, si tu as PERL installé sur ta machine (standard sur Unix maintenant) : 
perl -pi -e 's/,*$//g' [ton fichier]
Marsh Posté le 11-03-2009 à 13:27:46
Tu utilises quoi ? 
Shell, Batch, ... ? Windows (lequel), UNIX/Linux (lequel), autre ? 
Tu dois utiliser le Shell ? 
 
Pour ce que tu veux faire, il y a les expressions régulières   
  
 
Sous Win, je ne sais pas trop,mais sous UNIX/Linux il y a l'éditeur de texte sed qui devrait te permettre de faire ça en une ligne... 
 
[Edit]grilled   
 
Marsh Posté le 11-03-2009 à 13:28:48
| macgawel a écrit :   | 
 
 
sed n'est pas exactement un éditeur de texte.
Marsh Posté le 11-03-2009 à 13:34:48
| Elmoricq a écrit :   | 
 
 ![[:negro] [:negro]](https://forum-images.hardware.fr/images/perso/negro.gif) 
 
D'après Wikipedia
| Citation : sed (abréviation de Stream EDitor, « éditeur de flux »)  | 
Au temps pour moi   
 
Marsh Posté le 12-03-2009 à 11:16:56
J'avais pas vu que tu avais déjà donné la réponse, désolé.
Marsh Posté le 11-03-2009 à 11:43:03
Bonjour,
Je voudrais supprimer toutes les virgules en fin de ligne de mon fichier (sachant que je connais pas leur nombre ni leur position).
exemple fichier toto :
1,2,4,,,5,,,
2,4,,,,,,
12,4,A,,,,
....
résultat attendu:
1,2,4,,,5
2,4
12,4,A
j'ai pensé à une boucle en testant à chaque fois le dernier caractère. Y-at-il une façon plus simple ?
Merci pour votre aide.