question sur date

Le
chatiman
Bonjour,

Pourquoi lorsque je fais
date +%j
(nombres de jours depuis le 1 er janvier)
ca me retourne un nombre commencant par 0

que le shell considère comme un octal ?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JustMe
Le #449964
chatiman wrote:

Bonjour,

Pourquoi lorsque je fais
date +%j
(nombres de jours depuis le 1 er janvier)
ca me retourne un nombre commencant par 0


c'est comme ca qu'est defini le %j de date


que le shell considère comme un octal ?


date +%j | sed 's/^0*//'






Stephane Chazelas
Le #449962
2004-04-3, 20:10(+02), chatiman:
Pourquoi lorsque je fais
date +%j
(nombres de jours depuis le 1 er janvier)
ca me retourne un nombre commencant par 0


Parce que c'est defini comme un nombre sur trois chiffres (de
001 à 366).

que le shell considère comme un octal ?


Que /certains/ shells considèrent comme un octal dans leur
operateurs arithmetiques (en particulier tous les shells POSIX
conformant). Le Bourne shell, les vieilles versions de ksh ou
ash et zsh n'ont pas cette "feature".

Avec le GNU date, tu peux utiliser:

date +%-j

Sinon, tu peux faire (avec les shells POSIX):

j=$(date +%j)
j=${j#${j%%[!0]*}}

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Publicité
Poster une réponse
Anonyme