Signaler

[UNIX Shell Script] Découpage d'une date [Résolu/Fermé]

Posez votre question Trezeg 73Messages postés mercredi 20 décembre 2006Date d'inscription 24 novembre 2010 Dernière intervention - Dernière réponse le 21 déc. 2006 à 10:10 par Trezeg
Bonjour,
J'aimerais découper une date sous unix (config SunOS 5.9) et mettre le contenu des trois éléments dans 3 variables (en shell script bien entendu). Je sais que cut -d suivi d'un caractère permet de definir un delimitateur. J'ai pu (difficilement) développer un truc en batch script et ca donne :

for /F "delims=. tokens=3" %%i in ('date /T') do for /F "delims= " %%i in ('echo %%i-') do set vYYYY=%%i
for /F "delims=. tokens=2" %%i in ('date /T') do set vMM=%%i
for /F "delims=. tokens=1" %%i in ('date /T') do set vDD=%%i
set vDate=%vYYYY%%vMM%%vDD%000000

Le problème est que je découvre le shell script (bien que ressemblant au batch scipt) et que la commande date donne ceci:
$ date
Wed Dec 20 13:16:38 CET 2006
et non pas 20.12.2006 comme c'est le cas en Dos.

Merci pour vos conseils.
Utile
+0
plus moins
Ceci devrait faire ton bonheur (man date)
[johand@horus]~/tmp $YEAR=$(date +%Y); MONTH=$(date +%m); DAY=$(date +%d)
[johand@horus]~/tmp $echo "$DAY/$MONTH/$YEAR"
20/12/2006
Bon je n'ai pas de SunOS sous la main (le bourrin...sous i386)
Johan
Utile
+0
plus moins
Salut,
Ca marche nikel sous Sun ;) Par contre j'aimerais obtenir le meme resultat mais avec l'affichage suivant :
20061220 et non 061220 comme c'est le cas sur ta solution (merci ;)).
Trez
Utile
+0
plus moins
Salut,

Ben suffit d'inverser l'ordre et de ne pas mettre de slash :
$YEAR=$(date +%Y); MONTH=$(date +%m); DAY=$(date +%d)
echo "$YEAR$MONTH$DAY"
;-))
Utile
+0
plus moins
Et puis pourquoi pas tout simplement :
date +%Y%m%d
;-)
Trezeg- 21 déc. 2006 à 10:10
Merci ;))

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !