[UNIX] le mois prédécent avec la cde DATE

Nico -  
lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité -
Bonjour à la communauté.
Je cherche la commande (ou shell script) qui me permettra de me retourner le mois précédent.
Je m'explique aujourd'hui nous sommes en Avril 2006 (042006) je souhaiterais que cette commande me retourne MMYYYY du mois précédent, soit 032006.
Quelqu'un pourrait il m'éclairer .
Merci d'avance.

Nico.

3 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,

La fonction localtime de Perl. Perl est integré aux systèmes Unix.
[lamitest@localhost ~]$ perl -e '($m,$y)=(localtime)[4,5],printf "%02d${\($y + 1900)}\n",$m'
032006
[lamitest@localhost ~]$
lami20j
3
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Je te donne ce que j'ai chez moi avec une Mandriva 2006 :
[jp@MDK ~]$ date '+%d %m %y'
12 04 06

[jp@MDK ~]$ date --date='1 month ago' '+%d %m %y'
12 03 06

[jp@MDK ~]$
Si ta version de "date" accepte les options "--date" et "ago", c'est tout bon ;-))

info date aussi pour plus de renseignements
1
Nico
 
Petite précision, je suis sur un Unix pas trop récent (SCO OpenServer 5.0.6), ma commande date n'offre pas trop de possibilité (exemple attribut : ago) :

Voici les options possibles :
Usage: date [-u] [+format]
date [-u] [-t [[CC]YYMMDDhhmm[.SS] | MMDDhhmm[YY] ]

Pour cela, je pense que le shell script devrait être ma seule solution, non ?
0