IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Recheche commande AWK pour afficher une liste de fichiers


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Par défaut Recheche commande AWK pour afficher une liste de fichiers
    Bonjour

    Voilà, j'ai un petit probleme à vous soumettre

    J'ai un repertoire de logs avec plus de 10000000 fichiers en quelques semaines.

    Je souhaterais savoir combien de fichiers il y a par jour

    donc en gros avoir la sortie

    Juil 17 : 345
    Juil 18 : 234
    Juil 19 : 15
    Juil 20 : 341


    etc

    j'ai bien pensé faire un perl avec un boucle et un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls -l | grep "Jul XX" | wc -l
    avec xx variant pour les jours, mais ce n'est pas judicieux.

    On m'a parlé de awk qui ferait celà bien plus vite. j'ai regardé comment ça marchait, mais c'est plutot complexe.

    Donc si qqun avait déjà fait ce genre de trucs, je lui en serais très reconnaissant

    Merci d'avance

    Chris

  2. #2
    Membre chevronné
    Avatar de joellel
    Profil pro
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    awk ne parcours qu'une fois ta liste. Il faut préalablement la trier sur le jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ls -l  |grep Jul | sort +6 | awk -f toto
    avec le fichier toto qui contient le programme awk suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    BEGIN {savjour = 0; cpt = 0 }
    (savjour == 0) {savjour = $7}
    {jour = $7}
    (savjour == jour) {cpt ++}
    (savjour != jour) {print "le", savjour, "Juillet", cpt, "fichiers"; cpt = 1; savjour = jour}
    END {print "le", savjour, "Juillet", cpt, "fichiers"; }
    C'est du code à l'arrache!!! Il y a surement mieux, mais ca marche chez moi!!!

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Par défaut
    Parfait
    Merci bcp bcp bcp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/02/2010, 11h25
  2. Composant pour afficher une liste avec un index
    Par zuzuu dans le forum AWT/Swing
    Réponses: 0
    Dernier message: 22/04/2009, 13h11
  3. Quel objet utiliser pour afficher une liste de plusieurs résultats
    Par jlachapelle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/08/2008, 21h33
  4. Réponses: 1
    Dernier message: 13/06/2008, 18h24
  5. Problème pour afficher une liste déroulante
    Par Oli_Ifre dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2007, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo