Date mois precedent
denis24
Messages postés
6
Date d'inscription
Statut
Membre
-
denis24 Messages postés 6 Date d'inscription Statut Membre -
denis24 Messages postés 6 Date d'inscription Statut Membre -
bonjour,
je travaille sous le shell sh et j'ai un probleme avec cette commande:
MOIS_OLD=`date +%m|awk '{printf("%02i",$1==1?12:$1-1);}`
est-ce que quelqu'un peut m'aider à resoudre mon probleme:
quand je fais un echo de MOIS_OLD, ca m'affiche: %02ii
merci d'avance
je travaille sous le shell sh et j'ai un probleme avec cette commande:
MOIS_OLD=`date +%m|awk '{printf("%02i",$1==1?12:$1-1);}`
est-ce que quelqu'un peut m'aider à resoudre mon probleme:
quand je fais un echo de MOIS_OLD, ca m'affiche: %02ii
merci d'avance
5 réponses
-
Salut,
Il manque une quote simple ( ' ) avant la quote inversée ( ` ) à la fin de ta commande, ainsi qu'une séquence d'échappement pour le retour à la ligne ( \n ) dans le "%021" :MOIS_OLD=`date +%m|awk '{printf("%02i\n",$1==1?12:$1-1);}'`
Mais t'aurais pu te contenter de :date --date='1 months ago' +%m
;-))
-
Re-
Oui ;-))[jp@MDK tmpfs]$ echo $SHELL /bin/bash [jp@MDK tmpfs]$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 déc 15 2005 /bin/sh -> bash* [jp@MDK tmpfs]$ date --date='1 months ago' +%m 06 [jp@MDK tmpfs]$ MOIS_OLD=`date +%m|awk '{printf("%02i\n",$1==1?12:$1-1);}'` [jp@MDK tmpfs]$ echo $MOIS_OLD 06 [jp@MDK tmpfs]$Tu dois avoir une erreur de syntaxe quelque part !!!
Fais un "Copier/Coller" de tes comandes dans la console, s'teuplé, merci. ;-) -
Bon ben chez moi les mêmes commandes (copier/coller dans mon terminal) marchent à merveille !! :-\
Reste à regarder peut être les versions de "bash" et de "awk" chez toi, et tant qu'à y être celle de "date" aussi :bash --version awk --version date --version
Fais aussi un :echo $SHELL
Quelle distrib utilises-tu ?
Voilà ce que ça donne sur une Mandriva 2006 :[jp@MDK tmpfs]$ bash --version | sed -n 1p GNU bash, version 3.00.16(2)-release (i586-mandriva-linux-gnu) [jp@MDK tmpfs]$ awk --version | sed -n 1p GNU Awk 3.1.4 [jp@MDK tmpfs]$ date --version | sed -n 1p date (coreutils) 5.2.1 [jp@MDK tmpfs]$
-
je viens de faire echo $SHELL et ca donne /usr/bin/ksh
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bon ben c'est que c'est le shell que tu utilises donc.
Peut être que ça vient de là !!!
Quoi que je viens de faire les tests chez moi et les 2 commandes passent sans soucis avec un shell "ksh".
Là aussi peut être une question de version.
Désolé, mais je ne vois plus quoi te dire.
;-(