Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1926 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell] : supprimer des caractères en fin de lignes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Shell] : supprimer des caractères en fin de lignes

n°1860243
superpipo7​5
Posté le 11-03-2009 à 11:43:03  profilanswer
 


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.

mood
Publicité
Posté le 11-03-2009 à 11:43:03  profilanswer
 

n°1860274
leoz2004
Posté le 11-03-2009 à 12:32:14  profilanswer
 

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 ;)


---------------
Worldcraze 10loop
n°1860291
Elmoricq
Modérateur
Posté le 11-03-2009 à 13:26:43  profilanswer
 

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]

n°1860292
macgawel
Posté le 11-03-2009 à 13:27:46  profilanswer
 

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  :love:  
 
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  :cry:

Message cité 1 fois
Message édité par macgawel le 11-03-2009 à 13:28:24
n°1860293
superpipo7​5
Posté le 11-03-2009 à 13:28:09  profilanswer
 

c'est sous unix.
 
Merci pour ta réponse

n°1860294
Elmoricq
Modérateur
Posté le 11-03-2009 à 13:28:48  profilanswer
 

macgawel a écrit :


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...


 
sed n'est pas exactement un éditeur de texte.

n°1860296
macgawel
Posté le 11-03-2009 à 13:34:48  profilanswer
 

Elmoricq a écrit :


 
sed n'est pas exactement un éditeur de texte.


 [:negro]
D'après Wikipedia

Citation :

sed (abréviation de Stream EDitor, « éditeur de flux »)

Au temps pour moi  :o

n°1860320
matafan
Posté le 11-03-2009 à 14:17:14  profilanswer
 

sed 's/,*$//'

n°1860330
Elmoricq
Modérateur
Posté le 11-03-2009 à 14:35:53  profilanswer
 

Ouais le modificateur 'g' est effectivement inutile ici.

n°1860655
matafan
Posté le 12-03-2009 à 11:16:56  profilanswer
 

J'avais pas vu que tu avais déjà donné la réponse, désolé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Shell] : supprimer des caractères en fin de lignes

 

Sujets relatifs
Exploitation de données (> 65 l lignes)[word] Compter les lignes d'une page, savoir si une image est présente
Supprimer le contenu d'une balise[C#] Comparer les lignes de 2 fichiers txt
Url Rewriting et chaine de caractèresAdaGide: syntaxe couleur et caractères
Caracteres Joker en PHP[Shell] : récupération de variable via awk
[Shell DOS] echappement du caractere de redirectionmasquer des lignes et colonnes
Plus de sujets relatifs à : [Shell] : supprimer des caractères en fin de lignes


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR