Renvoie à la ligne après suppression d'espace

Résolu/Fermé
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - Modifié par jipicy le 2/05/2013 à 11:41
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 - 2 mai 2013 à 14:52
Bonjour,

Bon j'ai un soucis avec une ligne de commande qui marchait bien jusqu'au moment ou j'ai été obligé de modifier mon fichier en entrée.
J'avais donc un fichier plat avec séparateur ";" .
j'ai donc du rajouter après le dernier champs un ";".

Avant modif:
Fich1:
aaaaa  ;BBBB  ; cccccc    
aaaaa  ;BBBB  ; cccccc  
aaaaa  ;BBBB  ; cccccc  
aaaaa  ;BBBB  ; cccccc  


Fich2
aaaaa;BBBB;cccccc    
aaaaa;BBBB;cccccc  
aaaaa;BBBB;cccccc  
aaaaa;BBBB;cccccc 


Après modif:
Fich1:
aaaaa  ;BBBB  ; cccccc    ;    
aaaaa  ;BBBB  ; cccccc    ;  
aaaaa  ;BBBB  ; cccccc    ;  
aaaaa  ;BBBB  ; cccccc    ; 


Fich2
aaaaa;BBBB;cccccc 
;    
aaaaa;BBBB;cccccc 
;  
aaaaa;BBBB;cccccc 
;  
aaaaa;BBBB;cccccc 
;  



ma ligne de commande:
cat $fich1 | sed 's/ \{2,\}//g' > $fich2 


Quelqu'un sait comment éviter ce retour à la ligne avec mon derniers séparateurs de champs ??

Merci d'avance.



A voir également:

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
2 mai 2013 à 11:46
Salut,

Doit y avoir un hic au niveau de l'encodage de ton fichier Fich1 ;-((
D'ailleurs comment t'y prends-tu pour rajouter le ";" en fin de ligne ?

$ cat plop
aaaaa  ;BBBB  ; cccccc    ;    
aaaaa  ;BBBB  ; cccccc    ;  
aaaaa  ;BBBB  ; cccccc    ;  
aaaaa  ;BBBB  ; cccccc    ; 

$ sed 's/ \{2,\}//g' plop 
aaaaa;BBBB; cccccc;
aaaaa;BBBB; cccccc;
aaaaa;BBBB; cccccc;
aaaaa;BBBB; cccccc

Affiche le résultat de la commande :
cat -A Fich1


0
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 1
2 mai 2013 à 14:02
Salut Zip31,

Mon fichier est constitué par une requête (une exploration) à partir d'un ERP (HRaccess). Dans cette requête, je définis chaque champs à extraire et entre chacun de ses champs extraite, je mets un champs qui à pour valeur ";'.

Donc pour toi la ligne de commande est bonne ?
0
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 1
2 mai 2013 à 14:52
Bon, j'ai refait mes tests et en effet j'avais un soucis sur un de mes fichiers d'où le résultat. Donc tout fonctionne !!!
Merci en espérant que je vous ai pas fait perdre trop de temps !

A+ ;-)
0