Bon ben t'as sûrement un cours pour ça. Je vais essayer de te donner le principe en français tel que je le ferais en shell et faudra que t'adaptes au cshell...
ded3869 a écrit :
Je souhaiterai écrire un script en cshell acceptant quatre paramètres en entrée. - l'ancien suffixe - le nouveau suffixe - deux chaînes alphanumériques
|
Bon, pas compliqué, tu récupères les 4 paramètres dans 4 variables
ded3869 a écrit :
Le script cherchera partout dans l'arboresce à partir duquel il est lancé, tous les fichiers ou répertoires ayant comme extension l'ancien suffixe , et les renommera en fonction du nouveau suffixe proposé sauf pour les noms fournis en troisième et quatrième arguments.
|
Là, le "find" te sera utile. Il faut que tu fasses une boucle sur chaque nom renvoyé par le find. Tu compares ce nom avec tes arguments 3 et 4 et s'ils ne sont pas identiques, tu crées le nouveau nom en utilisant l'argument 2 puis tu fais un "mv ancien_non nouveau_nom"
Syntaxe du find: find . -name "*.extension" -print (les guillemets après "name" sont obligatoires)
ded3869 a écrit :
Le script devra présenter un tableau indiquant en colonnes chaque élément renommé en précisant s'il s'agit d'un fichier ou un répertoire, la taille en octets et la date de dernière modification.
|
Pour récupérer les infos demandées, tu peux faire un "ls -ld nom" ou "stat nom". Les 2 commandes te renvoient des infos sur le nom que tu peux filtrer avec "grep" et/ou "cut". Tu peux afficher les infos que tu récupères immédiatement après les avoir récupérées (donc dans la boucle) sans t'embêter à les stocker pour les afficher à la fin du script car c'est pas demandé
ded3869 a écrit :
Le nombre total de fichier renommés, ainsi que Le nombre de cas exclus sont à fournir également.
|
Deux petits compteurs en plus...
Même si on avait ce genre de truc en stock, tu perdrais plus de temps à le modifier qu'à tout faire de zéro. Avec des exemples simples cshell sur chaque type d'opération que t'as à faire (récupérer et traiter un résultat de commande ligne par ligne, découper une chaîne, en créer une autre, etc) tu peux t'en sortir. Surtout que normallement on t'envoie pas au charbon sans billes pour t'en sortir...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.