Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/04/2014, à 20:38

soupaloignon

[Réglé] Casse de titre en bash ?

Bonjour à tous,

Je sais comment changer la casse dans un fichier, mais cela impacte tous les caractères.

Est ce qu'en bash il est possible de faire de la "casse de titre" (tous les mots sont en minuscules, sauf la 1ere lettre de chaque mot qui est en majuscule) ?

Exemple :
UN NOM QUELCONQUE
UNE ADRESSE QUELCONQUE
31000
TOULOUSE
05 05 05 05 05
UN AUTRE NOM QUELCONQUE

Deviendrait :
Un Nom Quelconque
Une Adresse Quelconque
31000
Toulouse
05 05 05 05 05
Un Autre Nom Quelconque

Merci d'avance pour vos conseils

Dernière modification par soupaloignon (Le 11/04/2014, à 09:59)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#2 Le 10/04/2014, à 23:29

pingouinux

Re : [Réglé] Casse de titre en bash ?

C'est encore moi… smile
Pour ne pas toucher à la première lettre du mot, et mettre les suivantes en minuscules

sed -r 's/\b([[:alpha:]])([[:alpha:]]+)\b/\1\L\2\E/g' fichier

Pour mettre la première lettre en majuscule, et les suivantes en minuscules

sed -r 's/\b([[:alpha:]])([[:alpha:]]+)\b/\U\1\L\2\E/g' fichier

Édité

Dernière modification par pingouinux (Le 10/04/2014, à 23:33)

Hors ligne

#3 Le 11/04/2014, à 09:58

soupaloignon

Re : [Réglé] Casse de titre en bash ?

pingouinux a écrit :

C'est encore moi… smile

Rebonjour wink

pingouinux a écrit :

Pour mettre la première lettre en majuscule, et les suivantes en minuscules

sed -r 's/\b([[:alpha:]])([[:alpha:]]+)\b/\U\1\L\2\E/g' fichier

Ca marche nickel


Bon, il ne me reste plus qu'à ordonner entre eux ces portions de code dans un script et de lancer la moulinette. Je posterai le résultat sur le forum, cela pourra peut être servir à d'autres

Un grand merci à toi pour ton aide smile


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne