Question sur egrep
tlep
Messages postés
597
Statut
Membre
-
jackemon Messages postés 14 Statut Membre -
jackemon Messages postés 14 Statut Membre -
Bonjour,
j'ai un fichier de logs apache formaté comme suit:
xx.xx.xx.xx 80 - - [06/Jul/2008:06:38:55 +0200] "GET /images/produits/1214560165.jpg HTTP/1.1" 200 7085 "https://www.ovh.co.uk/mail/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
xx.xx.xx.xx 80 - - [06/Jul/2008:06:38:56 +0200] "GET /images/produits/1214559700.jpg HTTP/1.1" 200 6701 "https://www.ovh.co.uk/mail/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
J'essaie de trouver une expression régulière rapide, pour récupérer les infos de date ("06/Jul/2008") et d'urls (après GET: "/images/produits/1214560165.jpg")
Le mieux que j'aie trouvé, c'est celà :
egrep -o ":digit:{2}/[a-zA-Z]{2,4}/:digit:{4}::digit:{2}::digit:{2}::digit:{2}:space:+\+:digit:+]:space:+\"GET:space:+/*[^ |?]*" access.log
Ce qui me renvoie des infos type :
06/Jul/2008:06:38:57 +0200] "GET /images/produits/1215094068.jpg
06/Jul/2008:06:38:58 +0200] "GET /images/produits/1201532338.jpg
06/Jul/2008:06:38:58 +0200] "GET /images/produits/1211190996.jpg
Le souci, c'est que je veux récupérer les infos sans les minutes et secondes: soit
06/Jul/2008 /images/produits/1211190996.jpg
06/Jul/2008 /images/produits/1215094068.jpg
Ceci afin de faire après un |sort|uniq, et trouver chaque fichier distinctement checké, jour par jour.
Avez-vous une idée ?
Merci pour votre aide !
j'ai un fichier de logs apache formaté comme suit:
xx.xx.xx.xx 80 - - [06/Jul/2008:06:38:55 +0200] "GET /images/produits/1214560165.jpg HTTP/1.1" 200 7085 "https://www.ovh.co.uk/mail/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
xx.xx.xx.xx 80 - - [06/Jul/2008:06:38:56 +0200] "GET /images/produits/1214559700.jpg HTTP/1.1" 200 6701 "https://www.ovh.co.uk/mail/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
J'essaie de trouver une expression régulière rapide, pour récupérer les infos de date ("06/Jul/2008") et d'urls (après GET: "/images/produits/1214560165.jpg")
Le mieux que j'aie trouvé, c'est celà :
egrep -o ":digit:{2}/[a-zA-Z]{2,4}/:digit:{4}::digit:{2}::digit:{2}::digit:{2}:space:+\+:digit:+]:space:+\"GET:space:+/*[^ |?]*" access.log
Ce qui me renvoie des infos type :
06/Jul/2008:06:38:57 +0200] "GET /images/produits/1215094068.jpg
06/Jul/2008:06:38:58 +0200] "GET /images/produits/1201532338.jpg
06/Jul/2008:06:38:58 +0200] "GET /images/produits/1211190996.jpg
Le souci, c'est que je veux récupérer les infos sans les minutes et secondes: soit
06/Jul/2008 /images/produits/1211190996.jpg
06/Jul/2008 /images/produits/1215094068.jpg
Ceci afin de faire après un |sort|uniq, et trouver chaque fichier distinctement checké, jour par jour.
Avez-vous une idée ?
Merci pour votre aide !
2 réponses
interrese toi au script AWK ou meme perl qui grace a ses expresions regulieres permettent ce genre de tri.
Mais prepare toi a eplucher quelque tuto avant d'etre a l'aise.
AWK ou PERL et Expressions regulieres tu va t en sortir avec ca.
Mais prepare toi a eplucher quelque tuto avant d'etre a l'aise.
AWK ou PERL et Expressions regulieres tu va t en sortir avec ca.
bonjour
je voudrais ton aide sur une ptite question voila peux tu me dire comme écrire cette commande sous linux
une commande qui affiche les 3 premières lignes d'un fichier
et une commande qui affiche les 5 dernières lignes de ce fichier puis Combinez les deux commandes précédentes sur une seule ligne, afin que les trois premières
et les 5 dernières lignes soit affichées en meme temps.....
merci de me répondre
je voudrais ton aide sur une ptite question voila peux tu me dire comme écrire cette commande sous linux
une commande qui affiche les 3 premières lignes d'un fichier
et une commande qui affiche les 5 dernières lignes de ce fichier puis Combinez les deux commandes précédentes sur une seule ligne, afin que les trois premières
et les 5 dernières lignes soit affichées en meme temps.....
merci de me répondre