![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| extrait des données de dates | Krrishv | De programmation et de script Shell | 5 | 06-05-2009 01:33 AM |
| Besoin de script pour générer toutes les dates dans le format JJMMAA entre 2 dates | frozensmilz | De programmation et de script Shell | 2 | 01-29-2009 06:06 AM |
| Time Between Dates | Sreejith_VK | HP-UX | 2 | 02-27-2008 02:02 AM |
| Dates UNIX | ndoggy020 | UNIX pour les nuls Questions et réponses | 9 | 02-14-2008 06:25 PM |
| comparer 2 dates | k_oops9 | De programmation et de script Shell | 7 | 11-15-2004 02:07 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Extrait loglines entre deux dates
Salut à tous, c'est mon premier post, et je tiens à dire bonjour à tout le monde là-dedans. J'ai un petit problème pour vous tous .J'ai un log comme ceci: Code:
38714 07/02/09 00:01:36 nsrd web2consolidato:D:\ done saving to pool 'SISTMSW0060' (Q09480) 32 GB 38752 07/02/09 00:01:37 nsrd /dev/rmt/STK0.2.10.5 11:Verify label operation in progress 38752 07/02/09 00:01:39 nsrd /dev/rmt/STK0.2.10.5 11:Mount operation in progress 42504 07/02/09 00:01:48 nsrd media event cleared: Waiting for 1 writable volumes to backup pool 'index' tape(s) or disk(s) on bolgt03 38718 07/02/09 00:01:48 nsrd bolgt03:index:serceias6bo009 saving to pool 'index' (Q12581) 38718 07/02/09 00:01:48 nsrd bolgt03:index:efbpmb04 saving to pool 'index' (Q12581) 38718 07/02/09 00:01:48 nsrd bolgt03:index:bostn03qd saving to pool 'index' (Q12581) 38718 07/02/09 00:01:48 nsrd bolgt03:index:efbpme06 saving to pool 'index' (Q12581) 0 07/02/09 00:01:51 nsrmmdbd pools supported: index, SISTMSW0060; 12361 07/02/09 00:01:52 nsrd [Jukebox `CRMF01', operation # 1967]. Finished with status: succeeded 42506 07/02/09 00:01:58 nsrd write completion notice: Writing to volume Q32308 complete 42506 07/02/09 00:02:08 nsrd write completion notice: Writing to volume Q09480 complete 9935 07/02/09 00:02:10 nsrmmdbd Save set ssid:3343637708 cloneid:1246485675 retention time update is before browse time, adju sting browse time et j'ai besoin d'un script pour extraire les lignes dans la dernière heure. Exemple Je lance le script à 15:31 - 07/01/09 i faut que chaque ligne créée entre les 14:31 - 07/01/09 et maintenant. Mais n'est pas certain qu'il existe une ligne dans le journal à cette heure. Le journal peut être même dans la dernière semaine ou peut contenir plusieurs lignes avec le même horodatage. Le script doit aussi à courir entre le jour et des changements mounth exemple: exécuté à 00:30 07/01/09 j'ai besoin chaque ligne à partir de 23h30 un 06/30/09 .S'il vous plaît, aidez-moi ... ma tête est près d'exploser. |
|
||||
|
Bienvenue à unix.com et de S'il vous plaît ne pas exploser.
![]() recherche avec DateCalc et vous obtiendrez un script qui peut faire de la date de calcul pour vous. utiliser la date de commande pour obtenir la date lorsque vous exécutez le script. Essayez "man date" utiliser awk pour extraire la datestamp du logfile. DateCalc utiliser pour vérifier la différence entre la date courante et la date logfile. Cheers ~ |
|
||||
|
n'est pas si simple si la date ne figure pas dans le fichier parce que, dans cette minute / heure n'est pas à vous connecter? ---------- Post mis à jour à 06:16 AM ---------- Mise à jour précédente a été, à 05:43 AM ---------- Fait Code:
#!/usr/local/bin/bash
export PATH="$PATH:/usr/local/coreutils/bin"
#07/02/09 12:35:57
ADESSO=$(cdate "+%m/%d/%y %H:%M")
UNORAFA=$(cdate -d "1 hour ago" "+%m/%d/%y %H:%M")
UNORAFA_S=$(cdate -d "1 hour ago" +%s)
echo $ADESSO
echo $UNORAFA
echo $UNORAFA_S
A="0"
while [ "$A" -lt "61" ] ; do
echo $A
QUACK=$(grep -n "$UNORAFA" daemon.log|tail -1)
if [ "$QUACK" = "" ]; then
let A=$A+1
let UNORAFA_S=$UNORAFA_S+60
UNORAFA=$(cdate -d "@$UNORAFA_S" "+%m/%d/%y %H:%M")
echo devo provare $UNORAFA
else
echo TROVATO $UNORAFA
echo $QUACK
TOTAIL=$(echo $QUACK |awk -F\: '{print $1}')
NUMLINES=$(wc -l daemon.log|awk '{print $1}')
echo $TOTAIL
echo $NUMLINES
let TOTAIL=$NUMLINES-$TOTAIL
tail -$TOTAIL daemon.log > ESTRATTO.txt
A=61
fi
done
|
|
||||
|
awk: Systime fonction n'est pas définie. La source la ligne numéro 4. : | Mhh Code:
A. V. Aho, B. W. Kernighan, P. J. Weinberger: The AWK Programming
Language, Addison-Wesley, 1988.
STANDARDS CONFORMANCE
awk: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2
Hewlett-Packard Company - 9 - HP-UX 11i Version 1: Mar 2007
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|