Supprimer les espaces en debut ou fin d'un champs

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 5/03/2013 à 15:08
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 5 mars 2013 à 18:11
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
Modifié par zipe31 le 5/03/2013 à 15:12
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 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 1
5 mars 2013 à 15:33
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
5 mars 2013 à 15:37
sed 's/  \+//g'

Toujours avec 2 espaces devant "\+"
0
JsuisNul Messages postés 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 1
Modifié par JsuisNul le 5/03/2013 à 17:27
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
5 mars 2013 à 17:28
$ 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 122 Date d'inscription mercredi 13 février 2013 Statut Membre Dernière intervention 14 février 2024 1
Modifié par JsuisNul le 5/03/2013 à 17:34
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