Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/07/2006, 09h52   #1
Membre à l'essai
 
Inscription : janvier 2004
Messages : 124
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 124
Points : 21
Points : 21
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 :
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
Krispy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2006, 10h28   #2
Membre confirmé
 
Avatar de joellel
 
Inscription : février 2003
Messages : 236
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : février 2003
Messages : 236
Points : 283
Points : 283
awk ne parcours qu'une fois ta liste. Il faut préalablement la trier sur le jour.
Code :
1
2
 
ls -l  |grep Jul | sort +6 | awk -f toto
avec le fichier toto qui contient le programme awk suivant:
Code :
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!!!
joellel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2006, 11h36   #3
Membre à l'essai
 
Inscription : janvier 2004
Messages : 124
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 124
Points : 21
Points : 21
Parfait
Merci bcp bcp bcp
Krispy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h24.


 
 
 
 
Partenaires

Hébergement Web