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

Trezeg 73 Messages postés mercredi 20 décembre 2006Date d'inscription 24 novembre 2010 Dernière intervention - 20 déc. 2006 à 13:20 - Dernière réponse :  Trezeg
- 21 déc. 2006 à 10:10
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.
Afficher la suite 
73Messages postés mercredi 20 décembre 2006Date d'inscription 24 novembre 2010 Dernière intervention

5 réponses

jisisv 3662 Messages postés dimanche 18 mars 2001Date d'inscriptionContributeurStatut 15 janvier 2017 Dernière intervention - 20 déc. 2006 à 16:14
0
Utile
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
Trezeg 73 Messages postés mercredi 20 décembre 2006Date d'inscription 24 novembre 2010 Dernière intervention - 20 déc. 2006 à 17:30
0
Utile
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
jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 20 déc. 2006 à 18:22
0
Utile
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"
;-))
jipicy 43485 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 7 novembre 2010 Dernière intervention - 20 déc. 2006 à 20:43
0
Utile
1
Et puis pourquoi pas tout simplement :
date +%Y%m%d
;-)