A voir également:
- Script KSH
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide
- Une erreur est survenue dans le script de cette page - Forum Windows 10
1 réponse
Bonjour,
Tu peux réaliser ton script beaucoup plus simplement et en une commande à l'aide d'
Dans un premier temps, je cherche les chaînes "correcte" partout dans le nom de fichier et dans un second temps je te montrerai comment ne chercher ce motif qu'à l'index 60.
Supposons que tes fichiers soient listés grâce à une commande arbitraire (disons le résultat d'un
C'est à ces fichiers que nous allons appliquer le traitement (dans ton cas, le
Dans ton sript je n'ai pas trop compris pourquoi tu considérais l'index 60, par rapport à ton exemple je pense que ce serait plutôt l'index 17 (si on indexe les caractères à partir de 0). En complète l'expression en jetant les 17 premiers caractères
Il ne reste plus qu'à injecter le résultat de cette commande dans
Bonne chance
Tu peux réaliser ton script beaucoup plus simplement et en une commande à l'aide d'
egrep.
Dans un premier temps, je cherche les chaînes "correcte" partout dans le nom de fichier et dans un second temps je te montrerai comment ne chercher ce motif qu'à l'index 60.
Supposons que tes fichiers soient listés grâce à une commande arbitraire (disons le résultat d'un
find). Moi j'ai mis tes noms de fichiers dans un fichier
toto.txt, donc la commande
cat toto.txtme les liste. Sur cette liste, je filtrer les lignes d'intérêt avec
egrep:
cat toto.txt | egrep "G\+91|2G\+93|3G\+91|4G\+94|A0\+59|B2\+33|C0\+54|E0\+21|F4\+59|H3\+63|H5\+07|J1\+83|J2\+83|J4\+07|K2\+34|L1\+54|M1\+44|N2\+45|P0\+33|Q2\+35|R0\+14|S0\+21|T1\+31|U1\+77|U2\+79|U3\+74|U6\+78|W4\+77")
C'est à ces fichiers que nous allons appliquer le traitement (dans ton cas, le
mv). Si tu veux appliquer le filtre contraire, il suffit de passer l'option
-và
egrep.
Dans ton sript je n'ai pas trop compris pourquoi tu considérais l'index 60, par rapport à ton exemple je pense que ce serait plutôt l'index 17 (si on indexe les caractères à partir de 0). En complète l'expression en jetant les 17 premiers caractères
cat toto.txt | egrep --color ".{17}(G\+91|2G\+93|3G\+91|4G\+94|A0\+59|B2\+33|C0\+54|E0\+21|F4\+59|H3\+63|H5\+07|J1\+83|J2\+83|J4\+07|K2\+34|L1\+54|M1\+44|N2\+45|P0\+33|Q2\+35|R0\+14|S0\+21|T1\+31|U1\+77|U2\+79|U3\+74|U6\+78|W4\+77)"
Il ne reste plus qu'à injecter le résultat de cette commande dans
mv. En bash, on utiliserait
$(...), en shell
`...`et en ksh je te laisse chercher, mais avec un peu de chance c'est la même syntaxe :-) Voilà à quoi ça ressemble en bash :
mv $(cat toto.txt | egrep ".{17}G\+91|2G\+93|3G\+91|4G\+94|A0\+59|B2\+33|C0\+54|E0\+21|F4\+59|H3\+63|H5\+07|J1\+83|J2\+83|J4\+07|K2\+34|L1\+54|M1\+44|N2\+45|P0\+33|Q2\+35|R0\+14|S0\+21|T1\+31|U1\+77|U2\+79|U3\+74|U6\+78|W4\+77") dossier_destination
Bonne chance