Bonjour,
J'ai un ensemble de fichiers dans un répertoire avec un nom en minuscule du type xxx.cfg;
Je voudrais savoir si il y a une commande pour passer d'un seul coup le nom de l'ensemble de ces fichiers en majuscule ?
Merci d'avance.
Bonjour,
J'ai un ensemble de fichiers dans un répertoire avec un nom en minuscule du type xxx.cfg;
Je voudrais savoir si il y a une commande pour passer d'un seul coup le nom de l'ensemble de ces fichiers en majuscule ?
Merci d'avance.
Tu peux faire une boucle sur la selection de tes fichiers ( ls qqchose par exemple ) pour recuperer l'ancien nom dans $f
le copier dans une variable typée u(pper)
et mettre le mv qui va bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for f in $( ls -1 ) do typeset -u u=$f echo $u echo $f done
tu peux utiliser tous les transcripteurs, tr par exemple
ON MANIPULE AVEC PRUDENCE hein ! on ne se trompe pas sur la sélection des fichiers !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part for i in *cfg ; do mv ${i} $(echo ${i}|tr 'a-z' 'A-Z') ; done
j'aurai prévenu... bha oui un shell c'est con ça fait ce qu'on dit de faire même si c'est une bourde.
Merci pour les infos du liens.
Je ne connaissais pas la syntaxe for i in *.*
Pas évident de savoir que UNIX va y chercher des noms de fichiers ...
D'un autre coté, mettre des espaces ou autres dans un nom de fichier ...
Mouais, enfin, faut pas non plus faire une généralité de ce que dit ce site (même s'il y a de bonnes choses à prendre).
Un
permet de s'affranchir du problème soulevé, et donc d'utiliser la forme "for i in $(ls) [...]".
Code : Sélectionner tout - Visualiser dans une fenêtre à part ls --quoting-style=c # ou encore =escape, ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager