Supprimer les espaces en debut ou fin d'un champs

Résolu
JsuisNul Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour a tous,

Me revoilà !!
comme vous le savez déjà j'ai un fichier du type :

mec3;jean;rue;CDD 
mec5;pierre;rue;CDI


en réalité, le fichier pour certain champs ressemble plutôt à cela :

mec3;jean;rue      ;CDD;      2; 
mec5;pierre;rue     ;CDI;      1;  


En gros j'ai des espace soit à gauche pour les champs numérique soit à droite sur les champs alphanumérique.
j'aimerai donc supprimer ces espaces.
j'ai tester :

sed 's/^\ *//;s/\ *$//'
mais ça ne supprime que les champs qui sont vraiment vide...
Merci pour votre aide ;-)


A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

$ cat plop  
mec3;jean;rue      ;CDD;      2; 
mec5;pierre;rue     ;CDI;      1; 

$ sed 's/\s\+//g' plop  
mec3;jean;rue;CDD;2; 
mec5;pierre;rue;CDI;1; 

$ sed 's/  *//g' plop  
mec3;jean;rue;CDD;2; 
mec5;pierre;rue;CDI;1;

La seconde solution sera plus portable, mais attention il y a 2 espaces avant l'astérisque.

Zen my nuggets ;-)
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot.
0
JsuisNul Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   1
 
Toujours aussi vif !!! ;-)

J'ai tester et c'est presque ça mais c'est de ma faute.
j'ai oublié de préciser qu'il pouvait y avoir des champs avec des contenant des noms ou des numéro de téléphone comme
"chef de projet" "06 05 04 03 02"
les espaces entre les mots je veux bien les garder
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
sed 's/  \+//g'

Toujours avec 2 espaces devant "\+"
0
JsuisNul Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   1
 
J'ai testé ta dernière solution mais ça n'a aucun effet... je dirai même que ça annule les effets de la commande précédente $ sed 's/ *//g' plop
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
$ cat plop
mec3;jean;rue "chef de projet" "06 05 04 03 02"      ;CDD;      2;
mec5;pierre;rue     ;CDI;      1;

$ sed 's/  \+//g' plop 
mec3;jean;rue "chef de projet" "06 05 04 03 02";CDD;2;
mec5;pierre;rue;CDI;1;

$ 
0
JsuisNul Messages postés 125 Date d'inscription   Statut Membre Dernière intervention   1
 
Mince t'es vraiment trop rapide !!!
petite précision car je crois avoir encore merdé dans mes explications. le fichier est plutôt comme celà :

mec3;jean;rue-------; chef de projet-------- ;06 05 04 03 02;CDD------;------ 2;
mec5;pierre;rue ;CDI; 1;

(les tirets représentant les espaces)
0