Mettre des espaces entre les caractères [shell script] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 24-04-2009 à 08:54:40
Namoureux a écrit : Que faire ? |
retirer les " qui n'ont rien à faire là ?
et aussi lire la page de man de sed
Marsh Posté le 24-04-2009 à 09:10:50
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 !
Marsh Posté le 27-04-2009 à 11:35:28
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 !
Marsh Posté le 27-04-2009 à 15:06:39
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` |
Marsh Posté le 27-04-2009 à 17:18:42
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 !
Marsh Posté le 28-04-2009 à 01:06:49
$ perl -pe 's/([a-z]*)([A-Z]*)/$1 $2/' <<< exempleSimple
exemple Simple
Marsh Posté le 24-04-2009 à 08:48:45
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 !