Sed et ecrire au début d'un fichier log

tuxpux Messages postés 72 Statut Membre -  
tuxpux Messages postés 72 Statut Membre -
Bonjour a tous toutes
j'ai un probleme d'écriture d'un fichier log.
J'aimerais écrire les nouveaux évenements au début de mon fichier sans écraser l'ancien contenu (un fichier log quoi ;-)
voila ce que je fais
JOUR=`date +%Y-%m-%d`
TAILLE=`du -sh /volume1/Clients`
LIGNE="___________________________________"
TITRE="Taille Repertoire Client "
CORBEILLE="Taille Corbeille "

sed -i '1i  $LIGNE' /var/log/monfichierlog.log
sed -i '2i $JOUR' /var/log/monfichierlog.log
sed -i '3i $TITRE' /var/log/monfichierlog.log
sed -i '4i $TAILLE' /var/log/monfichierlog.log

sauf que au lieu de ressortir la valeur de ma variable, il m'écrit dans mon fichier log

LIGNE
JOUR
TITRE
TAILLE


j'avoue que sed a l'air extremement puissant mais je n'arrive pas à trouver la solution dans le fichier d'aide
merci d'avance à ceux celles qui pourront se pencher sur cette question
Configuration: Windows XP
Firefox 3.5.2

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Si tu ne veux pas t'embêter avec les quotes doubles/simples, tu l'écrire comme ça aussi :
    sed -i "1i\
    $LIGNE\n\
    $JOUR\n\
    $TITRE\n\
    $TAILLE\n\
    $LIGNE
    "  plop
    1
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    [tmpfs]$ cat plop
    Bonjour a tous toutes
    j'ai un probleme d'écriture d'un fichier log.
    J'aimerais écrire les nouveaux évenements au début de
    mon fichier sans écraser l'ancien contenu (un fichier log quoi ;-)
    voila ce que je fais
    
    [tmpfs]$ cat foo.sh
    #! /bin/sh
    
    #set -xv
    
    JOUR=$(date +%Y-%m-%d)
    TAILLE=$(du -sh /home/jp/tmpfs/)
    LIGNE="___________________________________"
    TITRE="Taille Repertoire Client Villeurbanne"
    CORBEILLE="Taille Corbeille Villeurbanne"
    
    sed -i '1i\
    '"$LIGNE"'\
    '"$JOUR"'\
    '"$TITRE"'\
    '"$TAILLE"'\
    '"$LIGNE"'
    ' plop
    
    [tmpfs]$ ./foo.sh
    
    [tmpfs]$ cat plop
    ___________________________________
    2009-08-26
    Taille Repertoire Client Villeurbanne
    16K     /home/jp/tmpfs/
    ___________________________________
    Bonjour a tous toutes
    j'ai un probleme d'écriture d'un fichier log.
    J'aimerais écrire les nouveaux évenements au début de
    mon fichier sans écraser l'ancien contenu (un fichier log quoi ;-)
    voila ce que je fais
    
    [tmpfs]$
    Voir dans la FAQ :
    Sed - Introduction à SED - Part I
    Sed - Introduction à SED - Part II
    Sed - Introduction à SED - Part III
    Et plus particulièrement : Le remplacement de variables
    0
  3. tuxpux Messages postés 72 Statut Membre 5
     
    Merci Jipicy c'est nickel !
    il va falloir que je potasse mieux la doc ! ;-)
    0