Forum Linux.redhat scripts

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-9
12
août
2016

bonjour j'aimerais ecrire un scripts mais je ne sais pas comment mis prendre
pouriez vous me filer un coups de doigts.
bon
se scripts doit m'afficher la taille d'une liste de fichier plus leur poids additionne merci

  • # du

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

    Proche du RTFM mais quand même:
    - au hasard d'une recherche => http://abs.traduc.org/abs-fr/
    - et pour le besoin précis exprimé la commande 'du'

  • # la base d'un script, c'est l'algo(ritme)

    Posté par  . Évalué à 3.

    si tu reflechis, et ecris ton algoritme, il ne te restera alors plus qu'à le traduire.

    comme c'est vendredi et que je suis en congés ce soir, je suis de bonne humeur,
    voici des bouts d'algoritmes :

    1°) taille d'une liste de fichier :
    - lire la liste
    - pour chaque fichier dans cette liste
    -- calculer la taille du fichier (ls -l donne l'info qu'il faut ensuite recuperer)
    -- afficher le nom du fichier et sa taille

    2°) faire la somme :
    somme = 0
    pour chaque fichier dans la liste
    - obtenir la taille
    - somme = somme + taille
    afficher la somme

  • # scripts

    Posté par  . Évalué à -1.

    merci pour vos reponce mais je me suis tromper c'est pas les dossier mais un repertoire
    de plus je sais pas comment lui ordonner de le faire avec plusieur repertoire en meme temps
    le debut de mon scripts donne sa
    du -sh /uvfx/Projects/Overdrive/input/005/0010
    005/0010
    005/0015
    005/0060
    005/0100
    005/0110
    005/0130
    005/0160
    016/0007
    019/0003
    019/0007
    019/0020
    019_0030
    019_0033
    019_0037
    019_0075
    019_0080
    019_0090
    019_0130
    019_0140
    020_0010
    020_0030
    020_0040
    020_0050
    020_0070
    020_0110
    021_0002
    021_0005
    021_0007
    029_0010
    030_0020
    032_0005
    et sa doit etre fais pour tout sa

    • [^] # Re: scripts

      Posté par  . Évalué à 3. Dernière modification le 12 août 2016 à 18:47.

      Déjà il ne faudrait pas utiliser l’option -h de du car tu vas avoir des tailles genre '42k' ou '12,3M', pas facile pour faire la somme car il faudrait convertir…

      se scripts doit m'afficher la taille d'une liste de fichier plus leur poids additionne

      La taille d’une liste pour moi c’est le nombre d’éléments de cette liste…

      Le plus pratique pour faire ce que tu veux (enfin tu n’es pas très précis dans ta demande…), à savoir faire la somme des valeurs de l’une des colonne d’une liste c’est d’utiliser awk

      Par exemple :

      du -sk /usr/local/* |awk '{somme += $1} END {print somme}'

      Va faire la somme des valeurs de la première colonne (somme += $1), puis l’afficher à la fin.

      J’utilise ici -k afin d’avoir la taille en kilo-byte.

      man du ! man awk ! ;)

      • [^] # Re: scripts

        Posté par  . Évalué à 4.

        Le plus pratique pour faire ce que tu veux (enfin tu n’es pas très précis dans ta demande…), à savoir faire la somme des valeurs de l’une des colonne d’une liste c’est d’utiliser awk

        Ou bien tu utilise l'option -c de du qui te donne le total de la taille de tous les arguments.

        Et note aussi que du (comme son nom l'indique, «disk usage») mesure par défaut la taille effectivement utilisée dans le système de fichier, en nombre de blocs, qui peut être inférieure ou supérieure à la taille des données utiles des fichiers (celle rapportée par les outils habituels comme ls).
        Pour avoir la taille des vrai données des fichiers il faut ajouter l'option --apparent-size.

        • [^] # Re: scripts

          Posté par  . Évalué à 3.

          Ou bien tu utilise l'option -c de du qui te donne le total de la taille de tous les arguments.

          Oui, on peut aussi faire du -sk /usr/local qui donne le même résultat à 4ko près… j’essayais d’étaler ma confiture d’être didactique :)

          • [^] # Re: scripts

            Posté par  . Évalué à 4. Dernière modification le 13 août 2016 à 01:27.

            Je suis émerveillé par tant de bonnes informations, de connaissances partagées et de sens didactique pour répondre à un mec qui bulle sur son TP! Si si, vraiment! :-)
            Du coup, j'ai plussoyé tout le monde :-)
            (enfin, sauf le mec du TP que j'ai moinssoyé, faut pas déconner quand même… ;-)

  • # deuxlignes

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Pour la taille de la liste, je pense que c'est ça :

    wc -l liste_des_fichiers

    Et pour le poids, je pense que ce truc le fait…

    wc -c $(cat liste_des_fichiers) | tail -1 | awk '{print $1}'

    Tu as un numéro de fax pour la facture ?

Suivre le flux des commentaires

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