SED Minuscule récursif

Bonjour,

Je cherche la commande inverse de celle ci :

Cependant je cherche à ajouter un séparateur.

J’ai plusieurs fichiers d’accès utilisateurs dans plusieurs répertoires différent.
J’ai fait un script qui parcours récursivement les répertoires et au cas ou le fichier d’accès est présent le script met en majuscule le contenue via la commande “sed -i ‘s/.*/\U&/’ fichier”

Mon but étant de le mettre en minuscule, mais comme c’est un fichier d’accès apache (htpasswd), il faudrait juste modifier les logins qui sont devant les “:”

J’arrive pas à trouver la façons d’utiliser les séparations avec sed.

Merci d’avance,
Fabien493

Salut,
Je déplace dans programmation, tu auras certainement + de réponses.

merci lol, ça fait longtemps…que tu ne m’avais pas déplacé :slightly_smiling:

$ echo "HELLO:WORLD" | sed 's@^[^:]\+:@\L&@g' hello:WORLD
Donc :

find /chemin/vers/repertoire/ -type f -name '.htpasswd' -print0 | xargs -0 -n1 sed -i 's@^[^:]\+:@\L&@g'

Et avant qu’on me fasse la réflexion habituelle @ / je fais la réponse habituelle : je trouve le @ plus lisible (enfin, un peu moins illisible pour être précis). :mrgreen:

Bonjour syam,

Merci infiniment pour ta solution, je l’ai intégré à ma boucle ça fonctionne nickel.

Personnellement, j’étais plus partie sur un truc de ce genre :

Ou

Bref, merci :023

[quote=“fabien493”]Personnellement, j’étais plus partie sur un truc de ce genre :

Dans ce cas, ça serait plutôt (non testé) :

Mais vu que ça fait la même chose et que c’est beaucoup moins lisible que ma première solution… :wink:

J’aime bien la version awk :