[UNIX Shell Script] Découpage d'une date

Résolu
Trezeg Messages postés 81 Statut Membre -  
 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.
A voir également:

4 réponses

jisisv Messages postés 3678 Statut Modérateur 934
 
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
0
Trezeg Messages postés 81 Statut Membre 2
 
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
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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"
;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Et puis pourquoi pas tout simplement :
date +%Y%m%d
;-)
0
Trezeg
 
Merci ;))
0