Utilisation des outils StringSolver (Windows & Linux bash) qui traitent par des exemples:
filter fghfilea ok fghreport ok notfghfile notok; mv --all --filter fghfilea jklfilea
Il calcule d' abord un filtre basé sur des exemples , où l'entrée est le nom des fichiers et la sortie (ok et notok, chaînes arbitraires). Si le filtre avait l'option --auto ou était appelé seul après cette commande, il créerait respectivement un dossier ok
et un dossier notok
et leur enverrait des fichiers.
Ensuite, en utilisant le filtre, la mv
commande est un mouvement semi-automatique qui devient automatique avec le modificateur --auto. En utilisant le filtre précédent grâce à --filter, il trouve un mappage de fghfilea
à jklfilea
puis l'applique sur tous les fichiers filtrés.
Autres solutions unifilaires
Autres façons équivalentes de faire la même chose (chaque ligne est équivalente), vous pouvez donc choisir votre façon préférée de le faire.
filter fghfilea ok fghreport ok notfghfile notok; mv --filter fghfilea jklfilea; mv
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter fghfilea "mv fghfilea jklfilea"
# Even better, automatically infers the file name
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter "mv fghfilea jklfilea"
Solution en plusieurs étapes
Pour rechercher soigneusement si les commandes fonctionnent correctement, vous pouvez taper ce qui suit:
filter fghfilea ok
filter fghfileb ok
filter fghfileb notok
et lorsque vous êtes certain que le filtre est bon, effectuez le premier mouvement:
mv fghfilea jklfilea
Si vous souhaitez tester et utiliser le filtre précédent, tapez:
mv --test --filter
Si la transformation n'est pas celle que vous vouliez (par exemple, même si mv --explain
vous voyez que quelque chose ne va pas), vous pouvez taper mv --clear
pour redémarrer le déplacement des fichiers, ou ajouter d'autres exemples mv input1 input2
où input1 et input2 sont d'autres exemples
Lorsque vous êtes confiant, tapez simplement
mv --filter
et voilà! Tout le changement de nom se fait à l'aide du filtre.
AVERTISSEMENT: Je suis co-auteur de ce travail réalisé à des fins académiques. Il pourrait également y avoir bientôt une fonctionnalité de production de bash.