[ SunOS ] Recuperer temps epoch et epoch fichier

Fermé
laliemendez Messages postés 5 Date d'inscription jeudi 27 décembre 2012 Statut Membre Dernière intervention 28 décembre 2012 - 27 déc. 2012 à 14:51
laliemendez Messages postés 5 Date d'inscription jeudi 27 décembre 2012 Statut Membre Dernière intervention 28 décembre 2012 - 28 déc. 2012 à 11:37
Bonjour à tous,

Sous SunOS, je chercher à obtenir le temps epoch (en secondes donc) et le temps epoch d'un fichier.
Avec une simple soustraction, je pourrais voir depuis combien de seconde le fichier est présent dans le répertoire.

Seulement la commande date +%S ne marche pas sous SunOS ! Et pas moyen de trouver comment récupérer le temps epoch.

Avez-vous une solution ?
Merci d'avance ;)


A voir également:

1 réponse

dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
Modifié par dubcek le 27/12/2012 à 15:23
hello
utiliser perl
date en secondes
perl -e 'printf "%d\n", time()'
date du fichier en secondes
perl -e 'printf "%d\n" ,(stat($ARGV[0]))[9]' fichier 
1
laliemendez Messages postés 5 Date d'inscription jeudi 27 décembre 2012 Statut Membre Dernière intervention 28 décembre 2012
28 déc. 2012 à 09:48
J'ai déjà vu cette solution et je t'en remercie :)
Mais comme cela doit s'intégrer dans un gros script en shell et qu'il est difficile de récupérer du perl dans du Shell, je voulais savoir si je pouvais faire un script en full shell ...
0
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
28 déc. 2012 à 09:53
ces lignes perl ne posent pas de problème dans un script, comme n'importe quelle commande.
faire cela en shell serait bien compliqué
0
laliemendez Messages postés 5 Date d'inscription jeudi 27 décembre 2012 Statut Membre Dernière intervention 28 décembre 2012
28 déc. 2012 à 09:59
Je veux dire pour récupérer le résultat d'une commande Perl dans une variable shell :)
Car je veux farie un truc du style Temps_passe=$Maintenant - $DateFichier
Mais en shell, les 2 lignes ci-dessous ne fonctionnent pas :(
Maintenant=$(perl -e 'printf "%d\n", time()')
DateFichier=$(perl -e 'printf "%d\n" ,(stat($ARGV[0]))[9]' fichier)
0
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
28 déc. 2012 à 10:29
elles doivent fonctionner. Quel shell?
$ Maintenant=$(perl -e 'printf "%d\n", time()') 
$ echo $Maintenant
1356686847
$ 
0
laliemendez Messages postés 5 Date d'inscription jeudi 27 décembre 2012 Statut Membre Dernière intervention 28 décembre 2012
28 déc. 2012 à 10:53
Ah, j'ai compris pourquoi. C'est le passage de la variable $i (qui contient tous les fichiers du répertoire courant) au Perl qui bugge :(
for i in $(ls .)
do
date_fichier=$(perl -e 'printf "%d\n" ,(stat($ARGV[0]))[9]' $i)
echo "Fichier $i en temps epoch : $(date_fichier)"
done
0