web-dev-qa-db-fra.com

Obtenir la date actuelle dans Epoch à partir du script Unix Shell

Comment obtenir la valeur de date actuelle dans Epoch, c'est-à-dire le nombre de jours écoulés depuis 1970-1-1. J'ai besoin d'une solution dans le script Shell Unix.

60
Krishna

Mise à jour : La réponse précédemment publiée ici est liée à un script personnalisé qui n'est plus disponible, uniquement parce que l'OP a indiqué que date +'%s' Didn ' t travailler pour lui. Veuillez voir réponse d'UberAlex et réponse de cadrian pour les solutions appropriées. En bref:

  1. Pour le nombre de secondes depuis l'époque Unix, utilisez date(1) comme suit:

    date +'%s'
    
  2. Pour le nombre de jours depuis l'époque Unix divisez le résultat par le nombre de secondes dans une journée (attention aux doubles parenthèses!):

    echo $(($(date +%s) / 60 / 60 / 24))
    
45
Stephan202

La commande Unix Date s'affichera en temps Epoch

la commande est

date +"%s"

http://unixhelp.ed.ac.uk/CGI/man-cgi?date

Edit: Certaines personnes ont remarqué que vous avez demandé pendant des jours, c'est donc le résultat de cette commande divisé par 86 400

137
UberAlex
echo $(($(date +%s) / 60 / 60 / 24))
11
cadrian
echo `date +%s`/86400 | bc
2
Chris Doggett