une source, 2 grep

une source, 2 grep - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 17-09-2004 à 11:54:36    

Salut,
 
desolé pour le titre, je sais pas quoi mettre de plus clair. Mais je vais tenter de m expliquer ici :
 
 
en fait, j ai un fichier de LOG sur lequel j ai plusieur rapport a fair a l aide de Grep.
 
Histoire de limiter les acces HD, j aimerais avoir un process qui s occupe de la lecture et 2 qui gere le filtrage.
 
 
en raccourcie, j aimerais un truc du genre :
 
 
grep "toto" fichier.log > toto.txt
grep "tutu" fichier.log > tutu.txt
 
en quelque chose du genre :
more fichier.log | (grep "toto"> toto.txt) & (grep "tutu"> tutu.txt)
 
 
voila, je sais pas si c est possible.  
 
merci  


---------------
#mais-chut
Reply

Marsh Posté le 17-09-2004 à 11:54:36   

Reply

Marsh Posté le 17-09-2004 à 11:59:05    

mouais...
je crois qu'il te faudrait un script qui lise ton log ligne par ligne , et dans cette ligne il regarde et redirige suivant le cas  
 
-> prog shell , cherche sur le net  :sol:

Reply

Marsh Posté le 17-09-2004 à 12:00:58    

miminou a écrit :

mouais...
je crois qu'il te faudrait un script qui lise ton log ligne par ligne , et dans cette ligne il regarde et redirige suivant le cas  
 
-> prog shell , cherche sur le net  :sol:


 
j ai penssé a la commande tee qui permer de rediriger la STDOUT vers un fichier, mais je sais pas si c est suffisant


---------------
#mais-chut
Reply

Marsh Posté le 17-09-2004 à 13:06:19    

utilise sed pour ça c'est le moyen le plus simple.
Tu peux faire un truc comme:
/toto/wtoto.txt
/tutu/wtutu.txt
Je garantis pas la syntaxe. Fais un man sed et étudie ça mais c'est certainement l'approche la plus simple

Reply

Marsh Posté le 17-09-2004 à 13:22:04    

Ho la vache c est cho SED


---------------
#mais-chut
Reply

Marsh Posté le 17-09-2004 à 15:02:33    

Si tu veux une syntaxe plus claire :
 
perl -e '
open (TOTO, ">toto.txt" );
open (TUTU, ">tutu.txt" );
while (<> ) {
print TOTO if /toto/;
print TUTU if /tutu/;
}'
 
Le script sed est plus court et plus joli dans ce cas :)

Reply

Marsh Posté le 17-09-2004 à 16:36:24    

Avec grep tu peux chercher deux occurences dans le meme fichier.
 
# more toto.txt
toto
tata
titi
bob
sarge
 
# grep -e tata -e titi toto.txt | sort > fichier-`date --utc +\%Y\%m\%d`.log
 
voila.
esperant que cela repond a ta quetion.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed