[ SunOS ] Recuperer temps epoch et epoch fichier

laliemendez Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
laliemendez Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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   Statut Membre Dernière intervention  
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
elles doivent fonctionner. Quel shell?
$ Maintenant=$(perl -e 'printf "%d\n", time()') 
$ echo $Maintenant
1356686847
$ 
0
laliemendez Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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