#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…
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 ?
C'est encore moi…
Rebonjour
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
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne