RDV+DIAL chat illimit� dans ta r�g!
no save
Assistance
Achat
News

FAQ | Sed

Sed - Mettre la première lettre de chaque mot en majuscule
Publié par jipicy, dernière mise à jour mar. 17 nov. 2009 à 19:04:47 par marlalapocket

Capitaliser la 1ère lettre de chaque mot
Voici deux façons de procéder :

Méthode 1
sed -r 's/(^.| .)/\U&/g'
Méthode 2
sed 's/^.\| [a-z]/\U&/g'
Méthode 3
sed -r 's/\<./\U&/g'
Exemples :
$ echo -e "bonjour la vie." | sed -r 's/(^.| .)/\U&/g'
Bonjour La Vie.

$ echo -e "bonjour la vie\net bonjour à toi" | sed -r 's/(^.| .)/\U&/g'
ou
$ echo -e "bonjour la vie\net bonjour à toi" | sed -r 's/(\b.)/\U&/g'
Bonjour La Vie
Et Bonjour À Toi

$ echo -e "bonjour la vie." | sed 's/^.\| [a-z]/\U&/g'
Bonjour La Vie.

$ echo -e "bonjour la vie\net bonjour à toi" | sed 's/^.\| [a-z]/\U&/g'
Bonjour La Vie
Et Bonjour À Toi

$

Note : - les 2 premières méthodes ne fonctionnent que si et seulement il y un seul espace entre les mots.
Voici l'amélioration de la 1ère méthode pour que ça marche sans tenir compte de nombre d'espaces entre les mots.
sed -r 's/(^.|[ ]+.)/\U&/g'
Version Web
Réalisé par RedShift
no save