Forum Programmation.shell Exercice URGENT

Posté par  . Licence CC By‑SA.
Étiquettes :
-17
13
jan.
2015

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 :

$ 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.

  • # À lire pour commencer

    Posté par  (site web personnel) . Évalué à 5.

  • # C'est payé combien?

    Posté par  . Évalué à 7.

    Bonjour LisaVii,

    Il manque bonjour, s'il vous plait, et surtout ce que tu n'as pas compris….

    Notes aux suivants, merci de ne pas venir copier/coller texto l'énoncé de vos TP/TD c'est LOURD et cela ne vous aidera pas même si nous donnions les solutions.

    linuxfr.org != faismontp.org

    Merci

  • # aller en cours, comprendre le cours, appliquer le cours

    Posté par  . Évalué à 5.

    tout est dans le titre

  • # Merci

    Posté par  . Évalué à 2.

    Pour la commande "stat", dont j'ignorais totalement l'existence qui peut être bien utile pour effectivement manipuler les fichiers selon les dates et les droits. On en apprend tous les jours.

    Pour le "FECHIAI : Sam : 02" qui malgrai sa note daiplorable m'a bien fait rigolai après une longue journai.

    Pour le reste, bon courage :)

    • [^] # Re: Merci

      Posté par  . Évalué à 2.

      Les jumeaux Terieur sont encore là eux aussi….

    • [^] # Re: Merci

      Posté par  . Évalué à 2.

      je viens de voir le Crock Odile aussi, ou Alain et Alex TERIEUR
      ils sont imaginatifs dans les ecoles.

      • [^] # Re: Merci

        Posté par  . Évalué à 2.

        Zi tu as un Zeveux sur la langue.

        Zophie PHONZEC est pas mal non plus.

  • # décidément

    Posté par  . Évalué à 5. Dernière modification le 13 janvier 2015 à 23:36.

    C'est hardcore la piscine epitech

    *splash!*

    • [^] # Re: décidément

      Posté par  . Évalué à 3.

      Surtout le shell en .zsh

      Matricule 23415

    • [^] # Re: décidément

      Posté par  . Évalué à 2.

      Bof, rien que du très basique, tout se fait de tête, sans ouvrir une page de man ;)

      la seule question que je me pose c'est pour la question

      Donnez une commande permettant, en une seule ligne, de :

      une seule ligne ? sans ';' sans '|' ? sans $( ) ? sans ` ?, awk / sed sont autorisé avec leurs scripts car sinon c'est facile de tricher ;)

      1 grep suffit à chaque fois mais ça peut vite devenir illisible ;)

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: décidément

        Posté par  . Évalué à 2.

        à mon avis, on peut traiter chaque question avec une seule invocation de sed, mais si je devais le faire, je pense que je ferais du grep pour les deux premiers, et du sed pour le reste. Vu le niveau, si tu fais des scripts sed complexes, je pense que le prof te fait des bisous parce que tu connais sed, et qu'ensuite il te saque parce que c'est overkill :-)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.