Renommage de répertoires en masse
zadig99
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
Je fais appel aux spécialistes concernant l'écriture d'un script qui me permettrait de modifier en masse la premiére lettre (minuscule en majuscule) de tous les sous-répertoires situés dans un répertoire spécifique.
Merci à tous.
Je fais appel aux spécialistes concernant l'écriture d'un script qui me permettrait de modifier en masse la premiére lettre (minuscule en majuscule) de tous les sous-répertoires situés dans un répertoire spécifique.
Merci à tous.
Configuration: Windows XP Firefox 1.5.0.12
A voir également:
- Renommage de répertoires en masse
- Renommer des fichiers en masse - Guide
- Stockage de masse - Télécharger - Pilotes & Matériel
- Pourquoi certains contacts disparaissent de mon répertoire - Accueil - Guide Android
- Masse salariale calcul ✓ - Forum Excel
- Autorisations incorrectes sur les répertoires du service de recherche windows - Forum Windows 10
3 réponses
Une solution :
$ tree rep/
rep/
|-- tata
| |-- titi
| `-- tutu
`-- toto
|-- titi
`-- tutu
6 directories, 0 files
$ find rep/* -depth -type d -exec bash -c 'mv $1 $(echo $1 | sed "s#\(.*/\)\(.\)\(.*\)#\1\u\2\3#")' _ {} \;
$ tree rep/
rep/
|-- Tata
| |-- Titi
| `-- Tutu
`-- Toto
|-- Titi
`-- Tutu
6 directories, 0 files
$;-))
s#\(.*/\)\(.\)\(.*\)#\1\u\2\3#"
s
La commande de substitution
#
Le délimiteur de début. On définit le signe dièse (#) comme délimiteur à la place du slash (/) le délimiteur par défaut
\(.*/\)
1ère sous-expression qui englobe tout (.*) jusqu'au dernier slash (/), qu'il y en est 1, 2, 3, ou plus
\(.\)
2nd sous-expression matchant un caractère (.). Le 1er après le dernier slash
\(.*\)
3ème sous-expression englobant tout ce qui reste
#
Délimiteur partie gauche/droite (#motif#chaine de remplacement#)
\1
Correspond à la 1ère sous-expression
\u
Met le caractère qui suit en majuscule (u pour upper)
\2
Correspond à la 2ème sous-expression (la caractère seul)
\3
Correspond à la 3ème sous-expression
#
Délimiteur de fin
J'ai plusieurs niveaux de sous repertoires à renommer.
Merci.