La page de manuel donne deux exemples:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
Donc c'est soit s ou y puis /replaceThis/withThis
Que signifient les s et y principaux? Y a-t-il d'autres options?
La page de manuel donne deux exemples:
rename 's/\.bak$//' *.bak
rename 'y/A-Z/a-z/' *
Donc c'est soit s ou y puis /replaceThis/withThis
Que signifient les s et y principaux? Y a-t-il d'autres options?
Réponses:
Dans le premier cas:
rename 's/\.bak$//' *.bak
vous exécutez une expression régulière sur les noms de fichiers et remplacez la partie correspondante des expressions (.bak à la fin d'un nom de fichier) par la deuxième expression (qui est vide).
Dans le second cas:
rename 'y/A-Z/a-z/' *
vous vous comparez à l'espace de modèle d'expression régulière et translittérez vers la cible. En d'autres termes, la plage AZ est remplacée par la plage az, ce qui rend les noms de fichiers en minuscules.
Je vous suggère de consulter la page de manuel de sed pour plus de commandes et plus de détails. Je crois que la commande 's' est utilisée le plus souvent. De plus, la documentation regex (section 7) et perl peut également être utile. En particulier, voici un tutoriel sur perl et les expressions régulières.
De man sed
:
s / regexp / remplacement / Essayez de faire correspondre l'expression rationnelle avec l'espace de modèle. En cas de succès‐ ful, remplacez cette partie assortie au remplacement. le le remplacement peut contenir le caractère spécial et se référer à ce partie de l'espace de motif qui correspond, et la spéciale échappe \ 1 à \ 9 pour faire référence à la correspondance correspondante sous-expressions dans l'expression rationnelle. y / source / dest / Translittérer les caractères dans l'espace de motif qui apparaissent en source au caractère correspondant dans dest.