Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 11/02/2010, 13h45   #1
Invité régulier
 
Inscription : décembre 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 32
Points : 8
Points : 8
Envoyer un message via MSN à boulhous
Par défaut shell, supprimer les espaces repetitives

Bonjour,
ca fait maintenant deux jours que j'essaye de supprimer des espaces repetitives et je n'y arrive pas ni avec awk ni tr ni sed, voila un exemple:
Code :
1
2
frd7:/root/home/root/jim (root) sdiff -w 1000 passwd.reference passwd | grep "|" | sed 's/[ ][ ]+/ /'
opc_op:*:777:77:OpC default operator:/home/opc_op:/usr/bin/ksh                                                                                                                                                                                                                                                                                                                                                                                                                                                     |  opc_op:*jamal:777:77:OpC default operator:/home/opc_op:/usr/bin/ksh
j'ai pu supprimer les espaces consecutifs au debut et a la fin de la ligne, mais pas au milieu de la ligne.
si vous avez une idée je vous remercie d'avance

au revoir
boulhous est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2010, 14h49   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 258
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 258
Points : 7 041
Points : 7 041
exemple avec sed :
Code :
1
2
3
4
5
6
7
8
 
francois@francois-laptop:~/boulot/t$ cat > dd
fdsfs   sdfsdf dsfds
sdff sdfs sdfsd    sdfsdf
francois@francois-laptop:~/boulot/t$ sed "s/\ \ */\ /g" dd
fdsfs sdfsdf dsfds
sdff sdfs sdfsd sdfsdf
francois@francois-laptop:~/boulot/t$ rm dd ; cd .. && rmdir t
pour remplacer tout chaine de au moins 2 espaces par un seul espace
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2010, 11h23   #3
Membre habitué
 
Inscription : avril 2009
Messages : 153
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : avril 2009
Messages : 153
Points : 135
Points : 135
À vérifier, mais il me semble que c'est faisable avec la commande tr.

BSans est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2010, 11h50   #4
Invité régulier
 
Inscription : décembre 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 32
Points : 8
Points : 8
Envoyer un message via MSN à boulhous
Bonjour,

Merci frp31 et BSans, vos deux methodes fonctionnent, j'ai resous le problème, et merci beaucoup frp31, ainsi j'ai pu comprendre un peu plus le fonctionnement des expressions regulières avec.

Merci encore.
boulhous est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 14h33.


 
 
 
 
Partenaires

Hébergement Web