Ça n' aucun rapport avec le shell (bash, ksh ou autre), puisque date est un binaire (/bin/date), mais si tu es sous Linux, la version de date que tu as permet certainement de faire ce que tu veux. Il suffit de lui dire :
$ date -d "1 day ago"
et là, ça t'affiche bien la date d'hier (lun jan 30 17:39:46 CET 2006).
Et bien sûr, les options classiques de formatage fonctionnent de la même façon que d'habitude.
Evidemment, si tu n'es pas sous Linux ça risque d'être plus compliqué... Il y a bien la possibilité, comme tu l'as écrit, d'utiliser awk, mais là encore les fonctions de traitement des dates doivent être une spécificité GNU (gawk) : il n'est pas du tout sûr que tu retrouves ces mêmes possibilités sur d'autres environnements. Si tu veux quelque chose qui marche partout, il va falloir regarder du côté de Perl (qui est maintenant souvent installé sous pleins d'Unices) ou faire ça en C.
# date
Posté par JJD . En réponse au message Ksh et manipulation de date. Évalué à 1.
Ça n' aucun rapport avec le shell (bash, ksh ou autre), puisque date est un binaire (/bin/date), mais si tu es sous Linux, la version de date que tu as permet certainement de faire ce que tu veux. Il suffit de lui dire :
$ date -d "1 day ago"
et là, ça t'affiche bien la date d'hier (lun jan 30 17:39:46 CET 2006).
Et bien sûr, les options classiques de formatage fonctionnent de la même façon que d'habitude.
Evidemment, si tu n'es pas sous Linux ça risque d'être plus compliqué... Il y a bien la possibilité, comme tu l'as écrit, d'utiliser awk, mais là encore les fonctions de traitement des dates doivent être une spécificité GNU (gawk) : il n'est pas du tout sûr que tu retrouves ces mêmes possibilités sur d'autres environnements. Si tu veux quelque chose qui marche partout, il va falloir regarder du côté de Perl (qui est maintenant souvent installé sous pleins d'Unices) ou faire ça en C.
A+
JJD