Question sur egrep

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 !
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. 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.
    0
    1. 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
      0