Convertir la date de naissance et qui affiche l'âge.

tnt77 Messages postés 14 Statut Membre -  
tnt77 Messages postés 14 Statut Membre -
bonjour , j'ai un script a faire et je ne sais pas comment convertir la date de naissance en age en shell avec ubuntu.

merci

8 réponses

  1. tnt77 Messages postés 14 Statut Membre 1
     
    peux être oui (nano.2.2.6)

    ah d'accord bon je vais essayer ...
    1
    1. Utilisateur anonyme
       
      pourquoi donner la version de
      nano
      ? c'est la version de
      bash
      qui est pertinente.
      0
      1. tnt77 Messages postés 14 Statut Membre 1 > Utilisateur anonyme
         
        comment tu fais pour savoir la version de bash ?
        0
    2. Utilisateur anonyme
       
      echo $BASH_VERSION
      !
      0
    3. tnt77 Messages postés 14 Statut Membre 1
       
      4.2.24
      0
    4. Utilisateur anonyme
       
      ça devrait fonctionner alors.

      montre-nous ton script, et comment tu l'exécutes.
      0
  2. Utilisateur anonyme
     
    salut,

    la date de naissance : yyyy/mm/dd
    ou
    la date de naissance : yyyy-mm-dd
    ou
    la date de naissance ; dd mois yyyy
    ou
    ...
    0
    1. tnt77 Messages postés 14 Statut Membre 1
       
      bonjour qqch , merci de m'avoir répondu

      oui je suis d'accord avec sa mais comment fais tu pour convertir la date de naissance yyyy/mm/dd en age ( afin d'afficher l'age ) ?
      0
  3. Utilisateur anonyme
     
    en bash:
    $ date="1976/10/23"
    $ declare -i age
    $ printf -v age "%(%Y)T-$(date -d${date//\//-} +%Y)"
    $ echo $age
    39
    0
  4. tnt77 Messages postés 14 Statut Membre 1
     
    j'ai ajouté la commande déclare-i age , il me dit erreur de syntaxe operateur(le symbole erronée est"-")
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    peut-être un problème de version de bash, je travaille avec la version 4.3.
    que retourne
    echo $BASH_VERSION
    ?

    il faut d'ailleurs, pour bash 4.2, ajouter
    -1
    comme argument à la commande
    printf
    , pour obtenir la date de l'année en cours.
    0
  7. tnt77 Messages postés 14 Statut Membre 1
     


    je l'exécute avec bash nomduscript en ayant changer les droits avec chmod
    ps: y'a un f au tout début c'est pas fait exprès .
    0
    1. Utilisateur anonyme
       
      date-1
      devrait afficher une erreur
      la variable à utiliser n'est pas
      $date
      , mais
      $ddn
      .
      0
  8. tnt77 Messages postés 14 Statut Membre 1
     
    ah ouais exact , après modification,
    il m'affiche 2 erreurs :
    ligne 6 :ddn-1: commande introuvable
    ligne 6: printf: 1970- : erreur de syntaxe : opérande attendue le symbole erroné est "-")
    0
    1. Utilisateur anonyme
       
      pourquoi est-ce que tu purges
      $ddn
      ?
      comment veux-tu l'utiliser après ?

      et puis, ouah !
      $(date...)
      n'est pas une variable, c'est une substitution de commande, de la commande
      date
      , pour être précis.

      enfin, où ai-je écrit
      date-1
      ?
      0
  9. tnt77 Messages postés 14 Statut Membre 1
     

    non je me suis trompé pour le -1 et j 'avais comprit que je devait mettre $ddn a la place de $date... je trouver bizarre ^^
    0
    1. Utilisateur anonyme
       
      ouah!

      il y a dans mon code, je m'en excuse deux éléments qui portent le même nom (c'est ma faute)
      la commande
      date
      dans une substitution de commande : $(une_commande)

      et la variable
      ${date}
      , dans laquelle j'effectue une substitution : remplacer les
      /
      par des tirets.

      je te le réécris au propre, et tu peux m'offrir un paquet de bonbon :
      #!/bin/bash

      declare -i age
      echo "Saisissez votre date de naissance au format YYYY/MM/DD : "
      read ddn
      printf -v age "%(%Y)T - $(date -d ${ddn//\//-} +%Y)" -1
      echo $age
      il faudra ajouter une test pour vérifier que la date fournie est dans le bon format.

      trouves-toi un exemplaire du Advanced Bash Scripting Guide sur internet en français.
      tu en as vraiment besoin !
      0
    2. tnt77 Messages postés 14 Statut Membre 1
       
      Ah oui parfait j'avait pas fait d'espace entre la fin du " et le -1 ^^
      Merci beaucoup :D
      0