demande d'aide [script shell linux] - Linux et OS Alternatifs
Marsh Posté le 13-05-2004 à 22:38:08
ca serait pas des logs de squid ou de apache par hazard ??
Marsh Posté le 13-05-2004 à 22:41:42
non du tout, c'est un petit exercice que j'aimerais savoir faire
je vois que tu as rééditer
bon, si on revenais à monproblème, je ne voudrais pas me faire crier dessus, parce que nous faisons du chat
Marsh Posté le 13-05-2004 à 22:42:15
mytoo a écrit : non du tout, c'est un petit exercice que j'aimerais savoir faire |
sisi squid peu se présenter comme ca
Marsh Posté le 14-05-2004 à 07:04:45
ReplyMarsh Posté le 14-05-2004 à 09:14:18
Taz a écrit : man perl |
ouah, et ben bon courage
Ca c'est du man, encore pire que bash
Mais bon, faut bien y passer !
Marsh Posté le 14-05-2004 à 09:48:05
bobuse a écrit : ouah, et ben bon courage |
merde, déjà que les script bash, je ne connais pas bcp de commande, ben alors le perl j'en parle même pas
apparemment çà existe en sh
extration/répartition de fichier, masi je ne trouve pas
Marsh Posté le 14-05-2004 à 14:11:03
tjs personne pour m'aider?
Marsh Posté le 14-05-2004 à 14:22:44
bobuse a écrit : ouah, et ben bon courage |
faux !
|
Marsh Posté le 14-05-2004 à 14:29:18
j'ai çà
|
wc --help
thx powaaaaa, je regarde çà (à moins que c'ets juste pour dire qu'il y a plus de possibilité avec bash que perl)
ben çà va me servir à quoi de pouvoir compter le nb de caractère ou de mot?
il y a pas une fonction qui extrait la date des crochets [],
puis que l'on peut formatter
je n'y arrive pas
Marsh Posté le 14-05-2004 à 14:49:59
powaaaaa a écrit : faux !
|
rouah l'otre, pour perl, ya pas qu'un man !!
ls /usr/share/man/man1/perl* | wc -l |
Marsh Posté le 14-05-2004 à 16:25:18
for jour in `cat monordi.log | awk -F"[" '{print $2}' | awk -F":" '{print $1}' | sort -n | uniq`
do
grep "$jour" monordi.log > monordi.$jour.log
done
Le "/" peu poser probleme a voir et il y a surement plus simple.
Marsh Posté le 14-05-2004 à 17:02:35
je te remerci steph73 dejà pour la commande awk -F
car je n'utilisais seulement awk tout court
effectivement pour la crétion de fichier "/" pose un problème, mais c'est pas grave
me reste plus cas traduire la date 29/Mar/2004 en 20040329
est c'est niquel, il doit bien y avoir un formattage de date?
au fait c'est un fichier gz (monordi.log.gz)
Puis-je faire
gunzip -c monordi.log.gz
à la place
cat monordi.log?
et pour la ligne grep "$jour" monordi.log > monordi.$jour.log , je fais comment si c'est un gz? car j'ai essayé çà
valeur=$(gunzip -c monordi.log.gz | grep "${jour}" )
echo "${valeur}"
"${valeur}" > monordi.2004.log
et bien j'ai bien la variable valeur qui fonctionne mais j'ai une erreur sur l'insertion dans le fichier log
je sais je suis nulle
Marsh Posté le 14-05-2004 à 17:57:24
et ben ça marche pas ça ?
grep "$jour" monordi.log > monordi.$jour.log
Marsh Posté le 14-05-2004 à 18:04:39
Citation : for jour in `cat monordi.log | awk -F"[" '{print $2}' | awk -F":" '{print $1}' | sort -n | uniq` |
bobuse a écrit : et ben ça marche pas ça ? |
si çà fonctionne sauf que çà ne créer pas le fichier à cause des /
ex monord.29/mar/2004.log
j'ai essayé
grep "$jour" monordi.log > monordi.test.log
et il affiche bien dans le dernier fichier des lignes
Voilà ce que j'ai essayé aussi sur un fichier monordi.log.gz
Citation : for jour in `gunzip -c monordi.log.gz | awk -F"[" '{print $2}' | awk -F":" '{print $1}' | sort -n | uniq` |
dans ce cas le trie s'effectue bien
mon deuxième soucis serait de convertir par exemple:
29/Mar/2004
en
jj=29
dd=03
yy=2004
Marsh Posté le 14-05-2004 à 18:15:55
Pour lire un fichier gz, il y a gzcat, tu peux utiliser une variable temporaire avec la cde sed pour substituer le / par autre chose
Marsh Posté le 14-05-2004 à 18:19:46
steph73 a écrit : Pour lire un fichier gz, il y a gzcat, tu peux utiliser une variable temporaire avec la cde sed pour substituer le / par autre chose |
excuse-moi çà fontionne, merci en core steph73
(c'est grace à ta cmd
awk -F"[" '{print $2}' | awk -F":" '{print $1}' | sort -n | uniq
que j'y arrive
pour infos gzcat à la place de gunzip -c? (j'ai pas la commande gzcat tant pis)
sinon sed pour virer /, pk pas merci
Me manque juste de savoir comment jouer avec les chiffres
29Mar2004 (après avoir enlever / si j'y arrive) en 20040329
Marsh Posté le 14-05-2004 à 18:46:23
Vous pouvez fermer ce sujet
la suite ce trouve [SCRIPT SHELL] Convertion de date :http://forum.hardware.fr/hardwaref [...] 6981-1.htm
Marsh Posté le 13-05-2004 à 22:36:17
Bonjour,
J'aimerais savoir comment feriez vous votre script
pour trier par date les logs
j'ai un fichier monordi.log, comportant les lignes suivantes:
j'aimerais à partir de ce log, obtenir autant de fichier que de jour, avec ce format de date comme nom de fichier(à l'aide d'un script)
monordi.200400328.log
monordi.200400418.log
monordi.20040512.log
monordi.20040514.log
...
tous ces fichiers comporterait seulement leur log
monordi.200400328.log comportera la ligne
1.2.3.4 - - [28/Mar/2004:20:30:00 +0200] "TEXTE"
...
j'espère mettre fais comprendre,
espérant qu'une âme charitable pourra me donner un coup de main dès ce soir
merci
je m'excuse d'avance, si un post existe déjà merci de me l'indiquer
Message édité par mytoo le 13-05-2004 à 22:38:15
---------------
La connaissance se partage