#1 Le 16/11/2007, à 15:04
- barret
[bash] Suppression de ligne dans un fichier log
Bonjour a tous,
me revoila avec un probleme de script encore.
Voici le log en question:
2007-11-14 10:52 1.7 5166 root Xorg
2007-11-14 10:55 2.0 5166 root Xorg
2007-11-14 10:56 3.9 5950 gaetbolo kate
2007-11-14 10:57 2.0 5965 gaetbolo sh
2007-11-14 10:58 1.7 5166 root Xorg
2007-11-14 10:59 1.5 5166 root Xorg
2007-11-14 11:00 1.4 5166 root Xorg
2007-11-14 11:01 1.3 5166 root Xorg
2007-11-14 11:02 1.2 5166 root Xorg
2007-11-14 11:03 1.2 5166 root Xorg
2007-11-14 11:04 1.1 5166 root Xorg
2007-11-14 11:05 1.2 5166 root Xorg
2007-11-14 11:06 1.2 5166 root Xorg
2007 11 15 22:22 18.0 17781 root synaptic
2007 11 15 22:23 1.9 5571 root Xorg
2007 11 15 22:24 1.8 5571 root Xorg
2007 11 15 22:25 1.8 5571 root Xorg
2007-11-15 22:26 1.8 5571 root Xorg
2007-11-15 22:27 1.8 5571 root Xorg
2007-11-15 22:28 1.7 5571 root Xorg
2007-11-15 22:29 1.6 5571 root Xorg
2007-11-15 22:30 1.6 5571 root Xorg
2007-11-15 22:31 1.5 5571 root Xorg
2007-11-15 22:32 1.5 5571 root Xorg
2007-11-15 22:33 1.4 5571 root Xorg
2007-11-15 22:34 1.4 5571 root Xorg
2007-11-15 22:35 1.3 5571 root Xorg
2007-11-15 22:36 1.3 5571 root Xorg
2007-11-15 22:37 1.3 5571 root Xorg
2007-11-15 22:38 1.6 19222 gaetan gedit
2007-11-15 22:39 1.3 5571 root Xorg
2007-11-15 22:40 3.8 19435 gaetan gedit
2007-11-15 22:41 1.4 5571 root Xorg
2007-11-15 22:42 1.3 5571 root Xorg
2007-11-15 22:43 1.3 5571 root Xorg
2007-11-15 22:44 1.3 5571 root Xorg
2007-11-15 22:45 1.3 5571 root Xorg
2007-11-15 22:46 79.0 19866 gaetan firefox-bin
2007-11-15 22:47 8.2 19866 gaetan firefox-bin
2007-11-15 22:48 4.4 19866 gaetan firefox-bin
2007-11-15 22:49 2.9 19866 gaetan firefox-bin
2007-11-15 22:50 2.2 19866 gaetan firefox-bin
2007-11-15 22:51 1.7 19866 gaetan firefox-bin
2007-11-15 22:52 1.4 19866 gaetan firefox-bin
2007-11-15 22:53 1.3 19866 gaetan firefox-bin
2007-11-15 22:54 1.2 5571 root Xorg
2007-11-15 22:55 1.2 5571 root Xorg
2007-11-15 22:56 1.1 5571 root Xorg
2007-11-15 22:57 1.1 5571 root Xorg
2007-11-15 22:58 1.2 5571 root Xorg
2007-11-15 22:59 1.1 5571 root Xorg
2007-11-15 23:00 1.1 5571 root Xorg
2007-11-15 23:01 1.1 5571 root Xorg
2007-11-15 23:02 1.1 5571 root Xorg
2007-11-15 23:03 1.1 5571 root Xorg
2007-11-15 23:04 1.1 5571 root Xorg
2007-11-15 23:05 1.1 5571 root Xorg
2007-11-15 23:06 1.1 5571 root Xorg
2007-11-15 23:07 1.1 5571 root Xorg
2007-11-15 23:08 1.0 5571 root Xorg
2007-11-15 23:09 1.0 5571 root Xorg
2007-11-15 23:10 1.0 5571 root Xorg
2007-11-15 23:11 1.0 5571 root Xorg
2007-11-15 23:12 1.0 5571 root Xorg
2007-11-15 23:13 1.0 5571 root Xorg
2007-11-15 23:14 1.0 5571 root Xorg
2007-11-15 23:15 1.0 5571 root Xorg
2007-11-15 23:16 1.0 5571 root Xorg
2007-11-15 23:17 0.9 5571 root Xorg
2007-11-15 23:18 0.9 5571 root Xorg
2007-11-16 14:46 1.3 6204 gaetan python
2007-11-16 14:47 1.3 6204 gaetan python
2007-11-16 14:48 1.3 6204 gaetan python
2007-11-16 14:49 1.4 6204 gaetan python
2007-11-16 14:50 1.4 6204 gaetan python
2007-11-16 14:51 1.4 6204 gaetan python
2007-11-16 14:52 1.4 6204 gaetan python
2007-11-16 14:53 25.3 8043 gaetan soffice.bin
2007-11-16 14:54 2.5 8043 gaetan soffice.bin
2007-11-16 14:55 1.4 6204 gaetan python
Le script doit lire une date entrée au clavier et supprimer tout ce qui est antérieur a cette date dans le log.
Je n'arrive pas a trouver comment faire, si vous pouviez m'aider.
Merci BCP par avance
Hors ligne
#2 Le 16/11/2007, à 17:01
- s@mson
Re : [bash] Suppression de ligne dans un fichier log
Salut,
Un idée pourrait être
sed -n '/2007-11-15/,$ p' script.log
Ce script sed affiche les lignes comprises entre la premiere occurence de 2007-11-15 et la derniere ligne.
edit:
Le script précédent fait juste un affichage. Pour MODIFIER le fichier, on peut faire par exemple:
mv script.log scrip.log_old
sed -n '/2007-11-15/,$ p' script.log_old > script.log
ou
sed -i -n '/2007-11-15/,$ p' script.log
mais je crois que l'options -i n'est pas présente sur toutes les implémentations de sed, donc solution peut etre moins portable.
Dernière modification par s@mson (Le 16/11/2007, à 17:06)
Hors ligne
#3 Le 16/11/2007, à 21:45
- barret
Re : [bash] Suppression de ligne dans un fichier log
Salut,
Un idée pourrait être
sed -n '/2007-11-15/,$ p' script.log
Ce script sed affiche les lignes comprises entre la premiere occurence de 2007-11-15 et la derniere ligne.
edit:
Le script précédent fait juste un affichage. Pour MODIFIER le fichier, on peut faire par exemple:
mv script.log scrip.log_old sed -n '/2007-11-15/,$ p' script.log_old > script.log
ou
sed -i -n '/2007-11-15/,$ p' script.log
mais je crois que l'options -i n'est pas présente sur toutes les implémentations de sed, donc solution peut etre moins portable.
Impec, ca fonctionne, merci bcp
Hors ligne