Forum Programmation.shell couper dans un fichier ouvert

Posté par  .
Étiquettes : aucune
0
30
sept.
2005
Bonjour a tous,

j'ai eu petit problème et je ne sais vraiment pas comment faire.

je lance une appli avec en argument un fichier log. Pour éviter que ce fichier deviennent trop gros, je souhaite couper dedans sans arrêter mon appli .
Dans le fichier.log il y a des dates : jj/mm/aaaa.
Avec la commande grep "mm/aaaa" je pense que c'est possible, mais comment faire ? et aussi pour qu'il puisse couper et prendre dans le fichier.log ce que j'ai besoin.
Je sais comment le vider avec cat fichier.log < /dev/null mais couper dedans et mettre le résultat dans un autre fichier je ne sais pas. Comment faire pour couper dans un fichier ouvert?

En faite plus précisément, je souhaite faire un script qui puisse couper a partir de la date de début toutes les suivantes sans tenir compte du format des autres lignes jusqu'a la date de fin car il y a aussi des lignes sans dates.
Problème et je ne sais vraiment pas comment faire.
Quelqu'un peut-il m'aider ?



Merci pour toutes réponses.
  • # Algo assez compliqué

    Posté par  . Évalué à 1.

    cat toto.log|while read $i

    if [ $i ne $ARG ]
    echo $i>>toto.log.tmp
    fi
  • # logrotate

    Posté par  . Évalué à 2.

    A priori, c'est fait pour ca. En général c'est installé par défaut et configuré pour les fichiers logs classiques (/var/log/messages, ...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.