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

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

  1. Modérateur
    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
    1. Modérateur
      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
      1. 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