Bonjour,
J'ai un répertoire avec pas mal de fichiers qui viennent d'un serveur
windows et les noms et extensions sont un peu n'importe comment . Je
voudrais mettre les noms de ces fichiers en minuscules .
Comment faire ?
voilà, j'hésitais encore, mais là, je lâche bourne pour perl (pour autant que le scripting soit concerné) [...]
C'est sur, que pour de la programmation ou des scripts, il n'y a pas a hesiter. Cela dit, pour une utilisation en tant que shell interactif, zsh permet d'accomplir ce genre de taches quotidiennement sans effort.
L'equivalent de cette commande perl serait:
zmv '*' '${(L)f}'
Ou for f (./*) mv $f ${(L)f}
Avec des shells comme bash ou ksh, ca devient vite fastidieux a taper au prompt:
for f in ./*; do mv "$f" "$(printf '%sn' "$f" | tr '[:upper:]' '[:lower:]')"; done (qui ne marche d'ailleurs pas dans tous les cas).
-- Stephane
2004-07-01, 10:24(+02), gregg:
DominiX wrote:
perl -e 'rename $_, lc or die $! for <*>'
waow.
même: waow.
voilà, j'hésitais encore, mais là, je lâche bourne pour perl (pour
autant que le scripting soit concerné)
[...]
C'est sur, que pour de la programmation ou des scripts, il n'y a
pas a hesiter. Cela dit, pour une utilisation en tant que shell
interactif, zsh permet d'accomplir ce genre de taches
quotidiennement sans effort.
L'equivalent de cette commande perl serait:
zmv '*' '${(L)f}'
Ou
for f (./*) mv $f ${(L)f}
Avec des shells comme bash ou ksh, ca devient vite fastidieux a
taper au prompt:
for f in ./*; do mv "$f" "$(printf '%sn' "$f" | tr '[:upper:]' '[:lower:]')"; done
(qui ne marche d'ailleurs pas dans tous les cas).
voilà, j'hésitais encore, mais là, je lâche bourne pour perl (pour autant que le scripting soit concerné) [...]
C'est sur, que pour de la programmation ou des scripts, il n'y a pas a hesiter. Cela dit, pour une utilisation en tant que shell interactif, zsh permet d'accomplir ce genre de taches quotidiennement sans effort.
L'equivalent de cette commande perl serait:
zmv '*' '${(L)f}'
Ou for f (./*) mv $f ${(L)f}
Avec des shells comme bash ou ksh, ca devient vite fastidieux a taper au prompt:
for f in ./*; do mv "$f" "$(printf '%sn' "$f" | tr '[:upper:]' '[:lower:]')"; done (qui ne marche d'ailleurs pas dans tous les cas).