URL: https://linuxfr.org/forums/programmation-shell/posts/exercice-urgent Title: Exercice URGENT Authors: LisaVii Date: 2015年01月13日T20:01:39+01:00 License: CC By-SA Tags: piscine et epitech Score: -17 J'ai trois exercices urgents à faire et je ne comprend vraiment rien. Si quelqu'un peut m'aider, merci beaucoup La commande stat donne des infos sur un fichier. Elle retourne son résultat sous la forme suivante : ```sh $ stat /etc/passwd ``` donne :> fichier : « /etc/passwd » Taille : 1660 Blocs : 4 ES blocs : 1024 fichier Device : 801h/2049d Inode : 2858 Liens : 1 Accès : (0644/-rw-r--r--) UID : ( 0/ root) GID : ( 0/ root) Accès : 2013年11月30日 17:36:38.000000000 +0100 Modi. : 2013年09月27日 11:46:00.000000000 +0200 Chgt : 2013年09月27日 11:46:00.000000000 +0200 Créé : 2013年09月27日 11:46:00.000000000 +0200 Grâce à cette commande, vous allez créer un script menage.zsh : * Créer d’abord une fonction lastchange qui retourne l'année de la dernière modification du fichier donné en argument. Ici avec le fichier /etc/passwd, il s'agit de l'année affichée à la ligne Modi par la commande stat (dans notre exemple c'est 2013). * Nous allons utiliser cette fonction lastchange dans le script menage.zsh pour : * Supprimer tous les fichiers du répertoire courant finissant en .txt dont l'année de la dernière modification est strictement inferieure a 2006 * Déplacer tous les fichiers du répertoire courant finissant en .txt dont l'année de la dernière modification est supérieure ou égale à 2006 mais strictement inferieure a 2012 dans un dossier appelé "Vieux" (si le dossier n'existe pas, il faut le créer) * Déplacer les autres fichiers du répertoire courant finissant en .txt dans un dossier appelé "recent" (créer le dossier si nécessaire) Exercice 3 On dispose d’un fichier binomes.csv dont voici un extrait : "KAMGAING, BOINNOT";G3 "LORENZI,KOMUSSIDI";"G3,G5" "KLEIN,TRUCHI";"G3,G5" "NGUYEN, SOMBE";"G2,G4" "BOULDOIRE, DIEZ";"G4,G2" "BOHR, BUZEAU","G1,G5" "FOULON, GIRARDIN";"G2,G4" "RIGAULT, BEN FAIDA";G2 "GUERNIER, ROUSSET";G3 "DOMARIN, LARROQUE";G3 "PRUVOST, VITALE";G2 "BARONE,CAMANINI";G2 Chaque ligne indique le nom des ́el`eves et leur(s) groupe(s). Donnez une commande permettant, en une seule ligne, de : * compter combien de binômes ont au moins un membre dans le groupe 2 * compter combien de binômes ont au moins un membre dans le groupe 4 mais aucun membre dans le groupe 2 * donner les noms des binômes dont au moins un membre est du groupe 3 (sans enlever les double quotes) * la même chose, en enlevant les caractères double quotes * donner les noms des binômes qui n’appartiennent qu’`a un seul groupe Soit un exemple de fichier d'extension ".note" qui regroupe les notes des étudiants d'une matière donnée ci-dessous dans lequel la première colonne correspond au nom de l'élève, la seconde à son prénom et la troisième à sa note que l'on supposera entière pour simpli fier. CROCK : Odile : 13 PHONFEC : Sophie : 04 TERIEUR : Alain : 12 TERIEUR : Alex : 18 FECHIAI : Sam : 02 Ecrire un script permettant de calculer la moyenne de toutes les notes des fichiers d'extension ".note" contenus dans un répertoire donné en paramètre. Remarque : Le script devra calculer la moyenne générale associée à chaque fichier et la moyenne générale de l'ensemble des matières. On supposera que la syntaxe de tous les fichiers est de correcte et qu'il n'existe pas de sous-répertoire.