Sed - Mettre la première lettre de chaque mot en majuscule

Dernière mise à jour le 17 novembre 2009 à 19:04 par marlalapocket
Publié par jipicy

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'
Meilleures réponses pour « Sed Mettre la première lettre de chaque mot en majuscule » dans :
Sed - Mettre la première lettre d'un mot en majuscule VoirCapitaliser la 1ère lettre d'un mot (ou d'une phrase) Gsed 4.0 et supérieur sed 's/^./\u&/'Exemples :$ echo "bonjour la vie" | sed 's/^./\u&/' Bonjour la vie $ echo -e "bonjour la vie\net bonjour à toi" | sed 's/^./\u&/' Bonjour la vie Et...
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF) VoirConversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce...
Quelques fonctions utiles VoirCette astuce vous montrera comment utiliser quelques fonctions très utiles en PHP: Retourne la longueur de la chaîne Utilisation Résultat Passe tous les caractères en minuscules. Utilisation Résultat Passe tous les caractères en...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Collection CommentÇaMarche.net