|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 19 ![]() |
Bonjour,
j'ai un peu cherché sur le net avant de me résoudre à poser ma question mais comme je n'ai pas trouvé ce que je voulais, je me tourne vers ce forum. Alors voila j'ai un fichier constitué de plusieurs lignes de ce type ce fichier provient d'un spool via sql plus, le séparateur de colonne est une tabulation. Je voudrais supprimer tous les espaces de chaque lignes, sauf au niveau du texte. J'ai réussi à tous les supprimer mais la phrase sans espaces c'était pas terrible. Je n'y connais pas grand chose en sed (je m'en suis servi pour la première fois cette après midi) aussi je ne suis pas sur que cela soit possible mais je préfère demander, voila, si vous avez des idées, merci ! |
|
|
10
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Les supprimer ou les réduire à un seul espace ? Au final ça doit ressembler à 45648 5 7 78746 ceci est une phrase 7 ?
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
si la colonne précédent le texte est tjrs chiffrée, tu peux te servir de ça pour ne plus effacer les espaces suivants...
supprime que les espaces compris entre des chiffres. (reste à adapter) |
|
|
10
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
|
|
|
21
|
|
|
#5 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Citation:
Là tu supprimes un chiffre suivi d'un espace suivi d'un chiffre, 3 caractères en fait
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
20
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 19 ![]() |
alors en fait avant le premier chiffre, il a 2-3 espaces que j'aimerais enlever
ensuite chaque champ doit être séparé par une tabulation et juste une tabulation donc tous les espaces doivent être supprimé sauf au niveau de la chaîne de caractère Je vais aller lire le lien de N_BaH ^^ Edit: C'est exactement ça ! Il y a juste un truc, c'est que le dernier chiffre après la chaine, la tabulation ressemble à un espace c'est bizarre. Si je veux modifier mon fichier je dois passer en Code :
sed -ri 's/^ *//;s/ {2,}/;/g' monfichier Merci ! |
|
|
10
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
20
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 534 ![]() |
Citation:
ça irai mieux là déjà |
|
|
|
10
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
Déjà c'est des parenthèses qu'il faut et non des accolades Ensuite il n'y a aucun motif qui correspond à un chiffre suivi d'un espace suivi d'un autre chiffre Et pour finir, les références arrières ne s'appliquent qu'à un motif donné. Donc là ce n'est pas cumulable, même avec le flag "g" J'ai même essayé avec une boucle conditionnelle et même avec ça ça ne marche pas <ModeDenisotON> Désolé <ModeDenisotOFF>
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com