Menu

[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 

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
Merci
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
Merci
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 43484 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 17 mars 2018 Dernière intervention - 20 déc. 2006 à 18:22
0
Merci
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 43484 Messages postés jeudi 28 août 2003Date d'inscriptionModérateurStatut 17 mars 2018 Dernière intervention - 20 déc. 2006 à 20:43
0
Merci
Et puis pourquoi pas tout simplement :
date +%Y%m%d
;-)