Hey, est-ce que tu as compris la commande de François ?
date +"%b %d" renvoie la date sous le format donné (voir man strftime pour les %x possibles). `data +"%b %d"` est remplacé par la date avant l'appel à grep, qui devient donc grep "^mmm. JJ" < fichier.log.
Avec une locale française, la date renvoyée est "nov. 28" pour aujourd'hui parce que c'est l'abréviation de novembre en Français. Les logs contiennent Nov parce que c'est l'abréviation de November en Anglais. Il faut donc donner à date la locale correcte.
Si tu n'as qu'une seule commande dans ce cas, je dirais quelque chose du genre :
grep "^$(env LANG=C date +'%b %d')" < fichier.log
Si tu as plusieurs commandes dans ce style, un petit export LANG=C au début du script sera probablement plus simple.
[^] # Re: grep
Posté par Frédéric Perrin (site web personnel) . En réponse au message gestion de log. Évalué à 5.
Hey, est-ce que tu as compris la commande de François ?
date +"%b %d" renvoie la date sous le format donné (voir man strftime pour les %x possibles). `data +"%b %d"` est remplacé par la date avant l'appel à grep, qui devient donc
grep "^mmm. JJ" < fichier.log.Avec une locale française, la date renvoyée est "nov. 28" pour aujourd'hui parce que c'est l'abréviation de novembre en Français. Les logs contiennent Nov parce que c'est l'abréviation de November en Anglais. Il faut donc donner à date la locale correcte.
Si tu n'as qu'une seule commande dans ce cas, je dirais quelque chose du genre :
grep "^$(env LANG=C date +'%b %d')" < fichier.log
Si tu as plusieurs commandes dans ce style, un petit
export LANG=Cau début du script sera probablement plus simple.