[comprendre] Substitution d'extension fichier
Résolu
raspoute
Messages postés
875
Statut
Contributeur
-
raspoute Messages postés 875 Statut Contributeur -
raspoute Messages postés 875 Statut Contributeur -
Salut,
j'étais à la recherche d'un moyen de renommer une série de fichiers, et j'ai trouvé ceci: renommer fichiers avec extension
Ca correspond exactement à ce que je cherchais. Mais voilà, j'aime bien comprendre les choses, et là j'ai un peu de mal à comprendre le fonctionnement de la ligne de commande:
Connaissez vous un tuto qui explique comment il se fait que: mv $i ${i/txt/ps} remplace txt par ps ?
--
aba evra
j'étais à la recherche d'un moyen de renommer une série de fichiers, et j'ai trouvé ceci: renommer fichiers avec extension
Ca correspond exactement à ce que je cherchais. Mais voilà, j'aime bien comprendre les choses, et là j'ai un peu de mal à comprendre le fonctionnement de la ligne de commande:
[jp@MDK tmpfs]$ for i in $(ls fich*) ; do mv $i ${i/txt/ps}; done
Connaissez vous un tuto qui explique comment il se fait que: mv $i ${i/txt/ps} remplace txt par ps ?
--
aba evra
Configuration: Linux Debian Mozilla 1.8.1.3
2 réponses
-
Salut,
man bash et plus précisément le chapitre sur les "Expansions" :${paramètre/motif/chaîne} ${paramètre//motif/chaîne} Le motif est développé comme dans le traitement des noms de fichiers. Le paramètre est développé et la plus longue portion correspondant au motif est remplacée par la chaîneg. Dans la première forme, seule la première correspondance est remplacée, dans la seconde toutes les portions correspondant au motif sont remplacées par la chaîne. Si le motif commence par #, il doit correspondre au début de la valeur développée du paramètre. Si le motif commence par %, il doit correspondre à la fin du développement du paramètre. Si la chaîne est nulle, les por- tions correspondant au motif sont supprimées et le / après le motif peut être omis. Si le paramètre est @ ou *, l'opération de substitution est appliquée à chacun des paramètres position- nels successivement, et le résultat est la liste finale. Si le paramètre est une variable tableau indexée par @ ou *, l'opération de substitution s'applique à chaque membre du tableau successivement, et le résultat est la liste finale.man bash -P 'less -p "^EXPANSION"'
;-))
-
Décidément, j'ai encore beaucoup à apprendre...
Un trèsgrosMERCI en tout cas
:)