clive-guilde Posté(e) 29 mars 2019 Partager Posté(e) 29 mars 2019 (modifié) Bonjour à toute la communauté, Je m'adresse spécialement à ceux qui maitrise un peu le shell. Je souhaiterai créer un script voire une application via applescript pour calculer mon temps de travail quotidien en faisant l'hypothèse que ce temps est égale au temps où mon mac est resté allumé. J'ai donc fait le code suivant sous apple script qui utilise les commandes shell date et uptime. Cela donne : tell application "System Events" do shell script "MOIS=$(date +\"%B\"); date +\"%d-%m-%y\" | cut -d \",\" -f 1 | awk '{print $1,$2,$3,$4;}'>> /Users/toto/Documents/Temps_travail/temps_travail_$MOIS.txt | uptime | cut -d \",\" -f 1 | awk '{print $3,$4;}' >> /Users/toto/Documents/Temps_travail/temps_travail_$MOIS.txt;" delay 3 end tell tell application "Finder" shut down end tell le fichier temps_travail_MOIS.txt est sous la forme suivante (date du jour puis retour à la ligne puis le temps quotidien) : 29-03-19 2 mins Premier problème à chaque reboot uptime se réinitialise mais bon je peux faire une addition manuelle dans ce cas car il y a redondance sur la ligne du jour. A votre avis existe-t-il une meilleure solution ? Pensez-vous qu'il soit possible d'améliorer le script (c'est surement le cas) ? A vos propositions Bon week-end. EDIT : amélioration du code avec la commande date et la création d'un fichier labelisé du mois en cours. Modifié 29 mars 2019 par clive-guilde Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sethenès Posté(e) 29 mars 2019 Partager Posté(e) 29 mars 2019 Ca fait pas mal d'années que je n'ai plus touché au shell script. Y a certainement plus propre. Personnellement, je préférerais garder tout sur une ligne. Imaginons cette syntaxe : 29-03-19:0002 mins Tu pourrais peut-être faire un "tail -1 fichier_mois" (dans mon hypothèse et après une vérification que le fichier n'est pas vide) ou un "tail -2" avec la tienne et commencer par vérifier si la date du jour est égale à la date avant le double point. Si c'est une autre date, tu ajoutes une ligne au fichier, sinon tu enlèves une ligne, tu sommes les minutes et puis tu rajoutes la ligne (regardes du côté de Sed, je pense que ça peut le faire). Tu peux aussi compliquer en ajoutant un compteur par mois et années : 29-03-19:0002 mins 03-19:00002 mins 19:000002 mins Et tu "tail" les 3 dernières lignes et tu incrémentes les 3 compteurs. Note pour faire ce genre de chose, perso, je le ferais en C. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fred4 Posté(e) 30 mars 2019 Partager Posté(e) 30 mars 2019 Bonjour @clive-guilde En général ça commence par un script et ça se termine par un logiciel... Quelques exemples trouvés dans le Mac App Store : My Uptime et Aware gratuits, ou Time Sink payant. Une liste des outils pro : palmarès Hubstaff. Autres sites présentant leur outil : Clockify, Timing et Cheatsheetapp. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
clive-guilde Posté(e) 30 mars 2019 Auteur Partager Posté(e) 30 mars 2019 Ok merci pour les retours. Je vais rester pour le moment a mon script mais je vais regarder avec attention les logiciels. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fred4 Posté(e) 25 avril 2019 Partager Posté(e) 25 avril 2019 (modifié) @clive-guilde : CONCEPT : Temps d'écran sur macOS 10.15 (article de ce jour sur Consomac) Modifié 25 avril 2019 par Fred4 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
clive-guilde Posté(e) 27 avril 2019 Auteur Partager Posté(e) 27 avril 2019 Ah oui merci pour le rapprochement ça serait impeccable. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.