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

Linux Discussion :

Classer les dates d'un fichier conf grâce à un compteur d'activité


Sujet :

Linux

  1. #1
    l2k
    l2k est déconnecté
    Nouveau Candidat au Club
    Inscrit en
    Avril 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Classer les dates d'un fichier conf grâce à un compteur d'activité
    Bonjour,

    J'aimerais classer les dates de mon fichier de configuration dans un tableau à 4 colonnes, par ordre décroissant avec en tête le jour de l'année où l'activité journalière est la plus élevée. J'aimerais utiliser une longue commande shell mais pas de script (Je dois pouvoir la taper entièrement sur le terminal)

    Mon fichier a des entrées semblables à ca:
    203.40.195.112 - - [18/Apr/2004:23:01:55 +1000] "Get /ASGAP/ jpg/ 257811.jpg HTTP/1.1" 200 5589

    Plusieurs lignes sont imprimées pour la même date correspondant à chaque document accédé. Pour extraire uniquement les dates, j'ai utilisé une commande cat suivie d'un | et plusieurs commandes cut reliées par des | . J'ai donc obtenu plusieurs exemplaires de chaque date sous la forme 18/Apr/2004 dans un fichier nom-fichier-dates (qui sera réécrit après chaque commande). Malheureusement, utiliser la commande grep -c ou Wc -l sur ces dates comptabilise toutes les dates et non pas uniquement le nombre de dates identiques... impossible donc de comptabiliser l'activité de chaque date et d'insérer ce nombre devant chaque date dans le fichier nom-fichier-dates sous la forme:
    chiffre-d'activité / jour / mois / année

    Puis je voudrais aussi pouvoir tout afficher dans un tableau en utilisant:
    awk '/' '{print $1, $2, $3, $4}' nom_fichier_dates > nom-fichier-dates
    Le tableau aurait donc les colonnes: chiffre-activité mois jour année avec un espace au lieu d'un / comme séparateur.

    Le chiffre (correspondant au compteur d'activité) ($1) sera ensuite utilisé pour classer le tableau par ordre décroissant:
    sort -r nom-fichier-dates | uniq > nom-fichier-dates.
    Finalement, le tableau serait affiché par une commande head.

    Merci beaucoup pour votre aide.
    Valérie

  2. #2
    Membre averti
    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
    Points : 338
    Points
    338
    Par défaut
    entre sort pour trier et awk pour calculer et afficher, tu devrais t'en sortir

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/05/2016, 12h26
  2. [D2010] Modifier les dates d'un fichier avec SetFileTime
    Par Lung dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 14/02/2012, 14h11
  3. [AC-2007] Comment classer les dates en "En-tête de colonne" dans une requête TDC
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 01/07/2011, 10h32
  4. Récupérer les dates dans un fichier XML
    Par Norore dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2011, 15h40

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