Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2368 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell script] Mettre des espaces entre les caractères

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[shell script] Mettre des espaces entre les caractères

n°1130467
Namoureux
Posté le 24-04-2009 à 08:48:45  profilanswer
 

Bonjour.
Mon problème peut sembler simple, mais je m'arrache la tête dessus.
Voila : je veux remplacer une minuscule collée par une majuscule par une minuscule puis un espace puis cette majuscule. Si je résumé : exempleSimple -> exemple Simple
 
Ce que j'ai essayé :
sed -e 's/"\([a-z]\)\([A-Z]\)"/"\([a-z]\)  \([A-Z]\)"/g' mais ça ne marche pas.
 
Que faire ?  
 
Par avance merci !

mood
Publicité
Posté le 24-04-2009 à 08:48:45  profilanswer
 

n°1130469
wedgeant
Da penguin inside
Posté le 24-04-2009 à 08:54:40  profilanswer
 


retirer les " qui n'ont rien à faire là ? [:noxauror]
et aussi lire la page de man de sed :o


Message édité par wedgeant le 24-04-2009 à 08:55:04

---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
n°1130472
Namoureux
Posté le 24-04-2009 à 09:10:50  profilanswer
 

Bon, come d'habitude, j'ai besoin qu'on me mette le nez dessus pour comprendre, mais je met quand même ma solution des fois que quelqu'un ai le même soucis :
 sed -e 's/\([a-z]\)\([A-Z]\)/\1 \2/g'
Merci !

n°1131129
Namoureux
Posté le 27-04-2009 à 11:35:28  profilanswer
 

Bonjour !  
Pour ne pas créer de multiples topics, je pose ma petite question ici :
J'ai le résultat d'un grep qui  se met sur deux ligne (comprenez grep -e "machin" ...
résultat 1
résultat 2), mais quand je fais un echo dessus, tout va sur le même ligne, et ça je ne veux pas !
Comment faire pour garder cette mise en forme ?
 
Par avance merci !

n°1131165
matafan
Posté le 27-04-2009 à 15:06:39  profilanswer
 

Il faut que tu mettes des double quotes autour de ta variable, de façon à ce que shell ne la découpe pas en mots :

toto=`grep pattern file`
echo "$toto"


Message édité par matafan le 27-04-2009 à 15:07:02
n°1131194
Namoureux
Posté le 27-04-2009 à 17:18:42  profilanswer
 

En fait, ce n'est pas ma faute, si j'ose dire, mais je met le résultat via un traitement process.cgi, qui me reformate le truc, donc ça ne marche pas. Ce que je vais essayer de faire : mettre un retour à la ligne forcé à la fin de chaque resulata. Comment faire ?
Merci !

n°1131285
sputnick
bip...bip...bip...bip...bi...b
Posté le 28-04-2009 à 01:06:49  profilanswer
 

$ perl -pe 's/([a-z]*)([A-Z]*)/$1 $2/' <<< exempleSimple
exemple Simple


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [shell script] Mettre des espaces entre les caractères

 

Sujets relatifs
[SHELL] Script de backup (cron) : Ameliorations ?[Linux] Problème de transfert avec caractères spéciaux
Mettre un Emac dans une tour de PC c'est possible?exécuter script shell via interface web (sécurisé si possible)
mélanger shell et awkMGE O.P.S. Evolution 1150 rack et script pour arrêt machine
script de ocnifugration dhcpd 
Plus de sujets relatifs à : [shell script] Mettre des espaces entre les caractères


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR