Script KSH
Fermé
abdoughazi
Messages postés
1
Date d'inscription
mardi 28 septembre 2021
Statut
Membre
Dernière intervention
28 septembre 2021
-
Modifié le 28 sept. 2021 à 17:57
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 29 sept. 2021 à 13:44
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 29 sept. 2021 à 13:44
A voir également:
- Script KSH
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
- Script bat - Guide
- Executeur de script - Télécharger - Édition & Programmation
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 29 sept. 2021 à 13:50
Modifié le 29 sept. 2021 à 13:50
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