2013-07-03 4 views
0

J'ai un script bash qui reçoit une date en tant que paramètre (1 $) dans le format AAAAMMJJObtenir la date avant la date prévue dans Bash

Ce que je dois faire est Soustraire un jour à partir de la date prévue. Prenons 20130701 comme exemple, après le traitement, je m'attends à obtenir 20130630.

Comment puis-je faire cela dans bash? (Une solution de ligne obtient des points bonus!)

Répondre

5

En supposant que vous avez la date GNU:

$ set -- 20130701 
$ yesterday=$(date -d "$1 - 1 day" "+%Y%m%d") 
$ echo "$yesterday" 
20130630 
+0

ont parfaitement fonctionné. Merci! – Rhyuk