Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

gouki9711 et 10 utilisateurs inconnus

 Mot :   Pseudo :  
 
 Page :  1  2  3
Auteur
 Sujet :

Commande Unix pour récupérer certaines lignes d'un fichier?

 
n°3944
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 14:38:16  profilanswer
 

Reprise du message précédent :
pour l'instant j'ai su récupérer les lignes comprise entre un certain interval  de temps par rapport à l'heure courante

n°3945
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 14:43:27  profilanswer
 

c'est clair que quand on commence à tracer des trucs, les logs augmentent en conséquence.  
 
Montre voir ce que t'as déjà fait


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3946
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 15:00:07  profilanswer
 

voila mais c'est une fonction que tu avais faite
 
 

Citation :

BEGIN {  
getline nombre < "hsys"  
}  
 
function conv (toto)  
{ heures=substr(toto,1,2)  
 minutes=substr(toto,4,2)  
 secondes=substr(toto,7,2)  
 return heures*3600 + minutes * 60 + secondes  
}
 
 
 
{if((conv($3) < nombre) && (conv($3) > nombre-300))  
 
 
print $1,$2,conv($3),$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15 }


Message édité par danyboon113 le 11-03-2003 à 15:00:25
n°3947
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 15:01:30  profilanswer
 

maintenat je voudrais passer en paramètre le mois et le jour du mois

n°3948
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 15:33:02  profilanswer
 

ouais, peut-être que le plus simple est de faire un programme machin.sh qui prendra deux arguments : jour du mois et mois. Ce même programme lancera le programme awk précédent que j'appellerai bidule.awk
 
Ainsi, on le lancera comme ça par exemple :
machin.sh 11 03
 
dans machin.sh :
 
jour=$1
case $2 in
01) mois=Jan;;
02) mois=Feb;;
03) mois=Mar;;
etc...
12) mois=Dec;;
esac
 
grep -e "^$mois $jour" /var/adm/syslog/syslog.log > /tmp/fichier_a_traiter
 
# a ce niveau, le syslog a été filtré dans un nouveau fichier
# ne contenant que les lignes commençant par mois jour
 
bidule.awk /tmp/fichier_a_traiter


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3949
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 15:36:39  profilanswer
 

et tu peux faire un switch en awk?
 
çà marche comme le langage C?

n°3950
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 15:44:08  profilanswer
 

un switch ? C'est quoi ?


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3951
jardin
Yom? Le meilleur d&#039;entre nous!
Profil : Membre
Posté le 11-03-2003 à 15:48:59  profilanswer
 

Rut: Mouarf!!!! Tu veins d'en faire un de switch!
>>>
case $2 in
01) mois=Jan;;
02) mois=Feb;;
03) mois=Mar;;
etc...
12) mois=Dec;;
esac  
<<<
Ca s'appelle un switch ça :)
en C on aurait écrit
switch (maVal):
{
     case 1:
     {
          sprintf(monMois,"Jan" );
           break;
      }
     [...]
}
 
:)

n°3952
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 15:53:28  profilanswer
 

Rutkowski a écrit :

un switch ? C'est quoi ?


 
switch(variable)
    {
      case valeur1 : bloc d'instruction 1;
                             break;
      case valeur2 : bloc d'instruction 2
                             break;
     .....
      default          : derbier bloc
     }
 
voila en faite çà remplace une succession de "if"
 

n°3953
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 15:54:16  profilanswer
 

Jardin a écrit :

Rut: Mouarf!!!! Tu veins d'en faire un de switch!
>>>
case $2 in
01) mois=Jan;;
02) mois=Feb;;
03) mois=Mar;;
etc...
12) mois=Dec;;
esac  
<<<
Ca s'appelle un switch ça :)
en C on aurait écrit
switch (maVal):
{
     case 1:
     {
          sprintf(monMois,"Jan" );
           break;
      }
     [...]
}
 
:)


 
c'est bien jardin tu t'y connais
 
 :D

n°3954
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 15:55:30  profilanswer
 

ah oui, j'appelle ça un case, mais oui effectivement c'est un switch. Un switch en awk ? On doit pouvoir faire ça, mais c'est se compliquer la vie, vu que awk reconnait que if, for et while


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3955
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 16:11:02  profilanswer
 

Rutkowski a écrit :

ah oui, j'appelle ça un case, mais oui effectivement c'est un switch. Un switch en awk ? On doit pouvoir faire ça, mais c'est se compliquer la vie, vu que awk reconnait que if, for et while


 
mais je peux faire plusieur if imbriqué
 
car if ($3 == heure_courante)
      if ($2==jour)
      if ($1==mois)
 
et es-ce que je peux faire plusieurs getline dans mon fichier script
 
style
 

Citation :


BEGINBEGIN {  
getline heure_courante < "heure"  
getline jour < "num_jour"  
getline mois < "mois"  
}  


 
 

n°3956
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 16:17:10  profilanswer
 

oui, mais c'est franchement douteux comme méthode, vu que tu crée 3 fichiers inutiles pour ça. awk permet qu'on lui passe des arguments, faut pas l'oublier.  
exemple :
heure=15:25
awk -v mois=03 -v jour=15 -v heure=$heure ....


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3957
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 16:22:34  profilanswer
 

oué c'est vrai ta raison ce que tu di çà permet d'optimiser tout mon truc
 
mais pour l'instant j'arrive à selectionner le jour du moi et l'heure que je veux
 

n°3958
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 16:37:23  profilanswer
 

pour l'instant j'arrive à récupérer le jour le numero du jour dans le mois et l'heure
 
et çà me donne encore quelques lignes
 
maintenant je voudrais analyser l'adresse IP qui est à la 9éme colonnes ($9) et si c'est la même que celle que j'ai mis en paramètre alors la recopier et recopier les 3 lignes suivante
 
 
y-a moyen de faire çà?

n°3959
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 16:42:48  profilanswer
 

y'a qu'à compléter machin.sh auquel tu rajoute l'adresse ip comme argument
 
tu rajoutes dans le prog :
 
adresse=$3
 
grep -e "^$mois $jour" /var/adm/syslog/syslog.log | grep $adresse > /tmp/fichier_a_traiter


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3960
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 16:44:43  profilanswer
 

ah oui, c'est vrai, ça ma pas afficher les lignes où l'adresse n'est pas présente


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3961
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 16:48:16  profilanswer
 

Rutkowski a écrit :

ah oui, c'est vrai, ça ma pas afficher les lignes où l'adresse n'est pas présente


 
donc çà marche ce que tu as marqué au dessus?

n°3962
Rutkowski
L'inventeur du concept "team"
Profil : Vieux de la vieille
Posté le 11-03-2003 à 16:57:54  profilanswer
 

pas complètement. Je pense qu'il faudrait tout redévelopper en un programme unique en awk et faire un automate. C'est assez chiant, si j'ai des idées cette nuit, je regarderai


---------------
Les SPA ne vivent que par vos dons. Pensez-y !
Co-fondateur de Square Avalanche Team - Pro TRPG
Machoc rulez
n°3965
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 11-03-2003 à 19:31:00  profilanswer
 

Rutkowski a écrit :

pas complètement. Je pense qu'il faudrait tout redévelopper en un programme unique en awk et faire un automate. C'est assez chiant, si j'ai des idées cette nuit, je regarderai


 
oki c'est cool
 
et je voudrais savoir aussi si avec awk tu pouvais lancer l'éxécution d'un programme?

n°3971
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 10:09:03  profilanswer
 

il n'y a personne pour répondre à ma quesiotn qui est :
 
es-ce qu'avec AWk on peut lancer l'éxécution d'un programme sous certaines conditions?
 
 :hello:

n°3972
Yom
Cultive son Jardin.
Profil : Membre
Posté le 12-03-2003 à 10:09:50  profilanswer
 

Je ne pense pas. AWK ne fait que du traitement de chaines.

n°3973
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 10:26:12  profilanswer
 

Yom a écrit :

Je ne pense pas. AWK ne fait que du traitement de chaines.


 
donc es-ce qu'il y a une commande unix pour faire un lancement de fichier?

n°3974
Yom
Cultive son Jardin.
Profil : Membre
Posté le 12-03-2003 à 10:27:03  profilanswer
 

Ben tu le lances en script shell, tu veux faire quoi exactement ?

n°3975
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 10:30:49  profilanswer
 

ba je veux faire un traitement AWK
 
qui exécute certaines conditions sur différents fichier
 
et si fichier à répondu au condition alors lancer le programme truc  
 
sinon lancer le programme toto
 
ou sinon ne rien faire
 

n°3977
Yom
Cultive son Jardin.
Profil : Membre
Posté le 12-03-2003 à 10:34:09  profilanswer
 

Fais un script shell plutot alors.

n°3978
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 10:38:14  profilanswer
 

Yom a écrit :

Fais un script shell plutot alors.


 
oué c'est ce que je compté faire mais je fais appele à des scripts
 
mais en shell es-ce qu'on peut lancer un autre programme shell sous certaines conditions?

n°3979
Yom
Cultive son Jardin.
Profil : Membre
Posté le 12-03-2003 à 10:44:59  profilanswer
 

Oui bien sur

n°3980
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 10:49:15  profilanswer
 

Yom a écrit :

Oui bien sur


 
et comment tu fais çà?

n°3981
Yom
Cultive son Jardin.
Profil : Membre
Posté le 12-03-2003 à 10:58:35  profilanswer
 

#!/bin/sh
 
if [ $mes_conditions -eq $ma_valeur ] ; then
        monprogramme
fi

n°3982
danyboon11​3
Je vais bien tout va bien
Profil : Habitué
Posté le 12-03-2003 à 11:00:38  profilanswer
 

Yom a écrit :

#!/bin/sh
 
if [ $mes_conditions -eq $ma_valeur ] ; then
        monprogramme
fi


 
c'est quoi le "fi"
 
il sert à quoi?

 Page :  1  2  3

Aller à :
Ajouter une réponse