je recherche une méthode pour obtenir le TIMESTAMP (nombre de seconde écoulés depuis le 1er janvier 1970) en KSH sous UNIX.
Quelqu’un aurait une solution svp car la je dois avouer que je sèche. J’ai revu en détail les paramètres de la fonctions date mais aucun ne me permet d’avoir ce fameux TIMESTAMP.
[quote name=‹ Moktar › date=’ 20 Apr 2005, 12:42’]Sur une station Sun Solaris 5.7 no problemo.
Verifie que tu n’as pas d’alias sur date
[right][post=« 351839 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Alors j’utilise le date qui se trouve dans /usr/bin donc le standard de SUN.
[quote name=‹ Moktar › date=’ 20 Apr 2005, 13:07’]En effet, le %s est une extension GNU. Bah, tout le monde utilise les outils GNU à la place des mer… heuu des outils standard Solaris
[right][post=« 351856 »]<{POST_SNAPBACK}>[/post][/right][/quote]
[quote name=‘Moktar’ date=’ 20 Apr 2005, 13:39’]Aucune solution ? huhuhu.
Tu te loggues sur une station qui a le pack GNU,
Tu écris ça en trois ligne de C,
Tu DL le ‘date’ de GNU,
…
[right][post=“351877”]<{POST_SNAPBACK}>[/post][/right][/quote]
En effet cette solution m’a traversé l’esprit mais j’ai tout de même précisé dans mon premier message :
je recherche une méthode pour obtenir le TIMESTAMP (nombre de seconde écoulés depuis le 1er janvier 1970) en KSH sous UNIX.
[quote name=‘Rufh’ date=’ 20 Apr 2005, 15:04’]En effet cette solution m’a traversé l’esprit mais j’ai tout de même précisé dans mon premier message :
je recherche une méthode pour obtenir le TIMESTAMP (nombre de seconde écoulés depuis le 1er janvier 1970) en KSH sous UNIX.
Enfin merci, je vais essayer de me debrouiller
[right][post=“351886”]<{POST_SNAPBACK}>[/post][/right][/quote]
Oui mais ça n’a rien à voir avec KSH, KSH est juste un shell qui appel des commandes, télécharges la bonne commande (GNU Date) et ça marchera sous Ksh.
[quote name=‹ ZGoblin › date=’ 20 Apr 2005, 16:57’]Oui mais ça n’a rien à voir avec KSH, KSH est juste un shell qui appel des commandes, télécharges la bonne commande (GNU Date) et ça marchera sous Ksh.
[right][post=« 351934 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Ah tiens je n’avais pas vu la réponse : /usr/bin/date c’est pas ksh en effet.
Je profite du thread pour demander aux gens qui ont un systeme autre que linux, avec un compilateur autre que gcc, de me dire si ca fonctionne:
[code]#include<stdio.h>
#include<time.h>
int main(void)
{
time_t val;
val=time(NULL);
printf(« Timestamp:%ld\n »,(long)val);
return 0;
}[/code]
(normalement, time_t est un long int , mais gcc gueule si je fais pas l’explicit cast en (long))
bits/types.h:typedef long int __time_t;
time.h:typedef __time_t time_t;
Le code « portable » m’a toujours interesse meme si j’ai jamais eu l’occasion d’avoir suffisament de machines differentes pour tester.
La, avec les bidouille sur time_t, je me demande si c’est la norme (genre POSIX) ou si c’est un truc specifique a linux (d’apres le manpage, c’est POSIX, mais bon)
Si ca ne fonctionne pas sur telle ou telle machine, je veux bien la correction
/edit: Sinon c’est mort, il n’y a pas de moyen integré à ksh pour avoir le timestamp. Sauf bidouille de conversion de date dans un script.
[right][post=“351976”]<{POST_SNAPBACK}>[/post][/right][/quote]
[quote name=‹ LoneWolf › date=’ 20 Apr 2005, 18:15’]Je profite du thread pour demander aux gens qui ont un systeme autre que linux, avec un compilateur autre que gcc, de me dire si ca fonctionne:
[…][right][post=« 351994 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Sous windows avec les SFU qui viennent avec gcc en standard: