|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 22 ![]() |
Bon après midi tous le monde
je vuos adresse ce message car je suis maintenant bloqué depuis 3 semaines dans une application qui me géne beaucoup en effet je suis débutant en shell , et il m'est demandé dans le cadre de mon projet de réaliser un script qui lit les données a partir d'un fichier .log ces données sont sous la formes suivantes : 15/01/10 11:41:38,IDENT,OK,0,bioa,G999975,0,0,0.1,460,0,0,0,0,0 15/01/10 11:47:04,IDENT,OK,0,bioa,G545669,0,0,0.1,296,0,0,0,0,0 15/01/10 11:47:18,IDENT,OK,0,bioa,G545477,0,0,0.2,195,0,0,0,0,0 15/01/10 11:47:20,IDENT,OK,0,bioa,G545744,0,0,0.1,339,0,0,0,0,0 15/01/10 11:49:12,IDENT,OK,0,bioa,G545889,0,0,0.2,406,0,0,0,0,0 15/01/10 11:54:29,IDENT,OK,0,bioa,G999975,0,0,0.1,460,0,0,0,0,0 15/01/10 11:56:59,IDENT,OK,0,bioa,G999975,0,0,0.2,460,0,0,0,0,0 15/01/10 11:58:06,IDENT,OK,0,bioa,G180124,0,0,0.1,33,0,0,0,0,0 15/01/10 11:58:46,IDENT,OK,0,bioa,G999975,0,0,0.1,460,0,0,0,0,0 15/01/10 12:01:54,IDENT,OK,0,bioa,G545564,0,0,0.2,229,0,0,0,0,0 15/01/10 12:02:02,IDENT,OK,0,bioa,G545906,0,0,0.3,408,0,0,0,0,0 15/01/10 12:03:48,IDENT,OK,0,bioa,G545526,0,0,0.1,218,0,0,0,0,0 15/01/10 12:04:54,IDENT,OK,0,bioa,G545589,0,0,0.2,246,0,0,0,0,0 15/01/10 12:05:00,IDENT,OK,0,bioa,G180213,0,0,0.3,488,0,0,0,0,0 15/01/10 12:09:15,IDENT,OK,0,bioa,G545674,0,0,0.2,301,0,0,0,0,0 16/01/10 09:59:42,AUTH_CTL_WODB_ID_ONLY_TERMINAL ,OK,V7,0,2,1,0,0,3,10 16/01/10 10:30:13,AUTH_CTL_WODB_ID_ONLY_TERMINAL ,OK,V7,0,2,1,0,0,3,10 16/01/10 10:42:10,IDENT,OK,0,bioa,G999975,0,0,0.1,460,0,0,0,0,0 16/01/10 11:00:48,IDENT,OK,0,bioa,G544100,0,0,0.1,150,0,0,0,0,0 16/01/10 19:12:14,IDENT,OK,0,bioa,G999972,0,0,0.1,458,0,0,0,0,0 17/01/10 12:42:53,IDENT,OK,0,bioa,G999972,0,0,0.1,458,0,0,0,0,0 17/01/10 17:11:16,IDENT,OK,0,bioa,G999972,0,0,0.1,458,0,0,0,0,0 18/01/10 05:32:48,IDENT,OK,0,bioa,G999998,0,0,0.1,480,0,0,0,0,0 18/01/10 06:14:21,IDENT,OK,0,bioa,G999998,0,0,0.1,480,0,0,0,0,0 18/01/10 06:39:48,IDENT,OK,0,bioa,sansN1,0,0,0.1,486,0,0,0,0,0 18/01/10 06:47:00,IDENT,OK,0,bioa,sansN1,0,0,0.1,486,0,0,0,0,0 18/01/10 06:49:15,IDENT,OK,0,bioa,G999968,0,0,0.5,455,0,0,0,0,0 18/01/10 07:36:02,IDENT,OK,0,bioa,G545684,0,0,0.1,310,0,0,0,0,0 18/01/10 07:42:36,IDENT,OK,0,bioa,G545604,0,0,0.1,252,0,0,0,0,0 18/01/10 07:52:01,IDENT,OK,0,bioa,G545550,0,0,0.2,223,0,0,0,0,0 18/01/10 07:52:48,IDENT,OK,0,bioa,G545685,0,0,0.1,311,0,0,0,0,0 18/01/10 08:00:23,AUTH_CTL_WODB_ID_ONLY_TERMINAL 18/01/10 08:00:40,IDENT,OK,0,bioa,G999975,0,0,0.1,460,0,0,0,0,0 18/01/10 08:01:22,IDENT,OK,0,bioa,g545588,0,0,0.1,245,0,0,0,0,0 18/01/10 08:13:36,IDENT,OK,0,bioa,G545577,0,0,0.1,238,0,0,0,0,0 18/01/10 08:16:45,IDENT,OK,0,bioa,G545423,0,0,0.1,174,0,0,0,0,0 18/01/10 08:21:31,IDENT,OK,0,bioa,G545724,0,0,0.1,324,0,0,0,0,0 18/01/10 08:21:55,AUTH_CTL_WODB_ID_ONLY_TERMINAL ,OK,G360938,0,2,1,0,0,3,10 18/01/10 08:24:27,IDENT,OK,0,bioa,G545674,0,0,0.2,301,0,0,0,0,0 18/01/10 08:24:36,AUTH_CTL_WODB_ID_ONLY_TERMINAL ,OK, avec le premier champs est la date de la forme jj/mm/aa le fichier contient au moins un miller de ligne de cette forme , ce qui m'est demandé et de -lire le fichier -extraire dans une première phase les lignes qui repérensente la meme data -les recopier dans un autre fichier texte s'il vous pait j'ai besoin de votre aide dans mon sujet car j'en trouve plus le sulotion face à cette solution qui me bloque je vous ai envoyé un fichier joint pour vous expliquez la formes des lignes dans le fichier |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 897 ![]() |
mais...tu as peut-être déjà un début de script, que nous pourrions t'aider à faire fonctionner, pour faire ce qui t'est demandé
... ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 22 ![]() |
malheureusement j'ai formaté recemment le pc et j'ai perdu meme les scripts de test
mais pour ne pas vous embeter dans l'écriture du script pouvez vous m'aider par exepmle a me donner : dans un permier temps un commade permettant de trouver une chaine de caractére dans un fichiet texte ? on procéde pas à pas |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() budget et contrôle de gestion Inscription : décembre 2006 Messages : 865 ![]() |
Salut,
La commande sed permet d'extraire des lignes selon un motif (et même de les modifier). La commande grep permet elle aussi d'extraire des lignes selon un motif. Code exemple avec grep :
grep "IDENT" <mon_fichier>
__________________
Winnt C'est en Linuxant qu'on devient .... geek ![]() Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo. Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing. Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 22 ![]() |
Merci monsieur pour votre aide en effet ça bien marché concernant la recherche
reste a voir comment faire extraire le résultat de recherche et l'écrire dans un autre fichier y a pas une fonction ou une methode à faire |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() budget et contrôle de gestion Inscription : décembre 2006 Messages : 865 ![]() |
Salut,
Si on reprend le code de base précédent : Code :
grep "IDENT" <mon_fichier> > <mon_fichier_bis>
__________________
Winnt C'est en Linuxant qu'on devient .... geek ![]() Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo. Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing. Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing |
|
|
00
|
|
|
#7 | ||||
|
Membre chevronné
![]() Inscription : septembre 2007 Messages : 685 ![]() |
Bonjour haithem20080,
Tu es nouveau sur ce site et je te fais quelques remarques:
Je dois extraire du fichier file_in toutes les lignes qui sont en double. Les données sont en format texte: Code :
Code :
Code :
sort fichier_in | awk '{if ($0 == prev) {print $0; system("grep -n \"" $0 "\" fichier_in | cut -d : -f 1")} prev=$0}' > fichier_out
__________________
Un problème bien posé est déjà résolu (H. Bergson). |
||||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 22 ![]() |
en fait je vous remercie tous pour votre aide
en effet j'ai le fichier .log qui contient la liste des événement faits par jour de ce fait la première tache était de chercher les évènement par date donc j'ai affecté la date que je voulais à une variable comme indique la commande si desosus echo donner la jour vous voulez récuperez read var par la suité j'ai fait une recherche dans le fichier et j'ai redirigé le résultat vers un fichier de sortie qui s'appelle a.log comme l'indique la commande suivante grep -i $var TourniquetE1.log> /home/sst/Bureau/a.log et j'ai obtenu ce que je voulais merci por tous le monde |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com