comment puis-je renommer plusieurs files en insérant un caractère?

J'ai plusieurs files de la forme

sw001
sw002
sw003

Je veux insert une période entre les sw et les valeurs numériques. Comment puis-je accomplir ceci?

    Sur Linux:

    rename 'sw' 'sw.' sw* 

    Sur Debian, Ubuntu et dérivés, utilisez rename.ul au lieu de rename ( rename est une command de renommage de file différent sur ces dissortingbutions).

    Si vous n'avez pas rename et que vous n'avez pas envie de le download, utilisez ceci:

     for file in sw*; do mv "$file" "${file/sw/sw.}" done 

    Si vous le pouvez, vous pouvez exprimer la transformation sous la forme d'une expression régulière Perl, renommer celui livré avec Perl est un excellent choix. Il applique une expression Perl à chaque nom de file, puis change le nom s'il est différent. Souvent, une substitution d'expression régulière Perl est ce que vous voulez:

     rename 's/sw/sw./' sw* 

    Ceci est différent du rename (1) fourni avec util-linux-ng, mais normalement, la version Perl est la valeur par défaut. Voir man 1 rename pour vérifier lequel de votre système a.