Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 11h20   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 71
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 71
Points : 12
Points : 12
Par défaut Difference de deux dates en ksh

Bonjour,

Je souhaite calculer le temps d'execution d'un script ksh, la commande 'time' pourrait me servir a ca mais mon probleme est que je souhaite ne pas lancer le script ksh en faisant 'time monscript.ksh'.

Quelqu'un aurait une idée pour que je puisse faire la difference entre deux dates (debut et fin d'execution) ???

merci d'avance ...
maxattack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h29   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
suffit de logguer les dates en debut et fin de script et de comparer les deux variables.

grenre

Code :
1
2
3
4
5
6
7
8
#!/bin/ksh
DS=$(date +"%H:%M")
.....
DE=$(date +"%H:%M")
n_heures=$(echo `echo "$DE" | cut -d: -f1 ` "-" `echo "$DS" | cut -d: -f1 `| bc)
n_minuts=$(echo `echo "$DE" | cut -d: -f2 ` "-" `echo "$DS" | cut -d: -f2 `| bc)
echo $n_heures:$n_minuts
exit 0
bien sur tu peux ajouter les secondes ou ce que tu veux là c'est pour l'exemple....


frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h33   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 71
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 71
Points : 12
Points : 12
Par défaut oui, mais...

ce que je veux c'est faire la difference et avoir le nombre d'heures/minute/secondes !!!
maxattack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h38   #4
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
voilà j'ai éditer le post avec la solution complete....

et la copie ecran du test :
Code :
1
2
3
4
5
6
7
8
9
:/> DS=$(date +"%H:%M")
:/> DE=$(date +"%H:%M")
:/>sleep $(echo "60*6" |bc)
 
:/> n_minuts=$(echo `echo "$DE" | cut -d: -f2 ` "-" `echo "$DS" | cut -d: -f2 `| bc)
:/> n_heures=$(echo `echo "$DE" | cut -d: -f1 ` "-" `echo "$DS" | cut -d: -f1 `| bc)
:/> echo $n_heures:$n_minuts
0:7
:/>
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h53   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 71
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 71
Points : 12
Points : 12
Par défaut oui, mais ...

ton traitement ne dure pas plusieurs jours alors !!!



de 23:25:52 a 00:12:40 tu vas avoir quelques problemes et je ne parles pas si on est le 29 fevrier ...


mais bon y'a surement moyen d'en faire quelquechose !

maxattack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h58   #6
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
à toi d'affiner selon tes besoins....

moi je donne l'idée de base

c'est tout ....


deplus pour un calcul de plusieurs jours il faut ajouter le calcul des jours avec une variable plus longue (date +%D.....) etc....

et bien sur rien ne t'empeche d'ajouter aussi les mois et les années pour compter les unités de mois les unités d'années les jours etc....

[mode interessé]je vais quand même pas te developper une appli ksh gratuitement [/mode interessé]
PS: je prend les virements, paypal, les cheques, les payement en timbres et les mandats cash....


à toi d'ameliorer.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 15h26   #7
Candidat au titre de Membre du Club
 
Inscription : octobre 2005
Messages : 71
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 71
Points : 12
Points : 12
Par défaut Voilà ce que j'ai fais !

j'ai fais ca car ca m'arrangeait mieux !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
function display_time {
  hr=`echo "$1/3600" | bc`
  reste=`echo "$1%3600" | bc`
 
  min=`echo "$reste/60" | bc`
  reste=`echo "$reste%60" | bc`
 
  echo "TREATMENT TIME = $hr:$min:$reste"
}
 
 
display_time $SECONDS
sachant que $SECONDS est une variable qui existe automatiquement en ksh et qui donne le temps depuis le debut du ksh
maxattack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2007, 19h00   #8
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 776
Points : 7 776
bonne idee
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h10.


 
 
 
 
Partenaires

Hébergement Web