Je souhaiterai mettre en place un script permettant de convertir en français la date affichée par la commande date, sous le format suivant:
Lundi 26 Octobre 2009 15:31:08
Je ne sais pas le faire, pourrai-je avoir un coup de main ?
Je souhaiterai mettre en place un script permettant de convertir en français la date affichée par la commande date, sous le format suivant:
Lundi 26 Octobre 2009 15:31:08
Je ne sais pas le faire, pourrai-je avoir un coup de main ?
Si ton installation inclus le suport du français, il suffit de jouer avec la variable d'environnement LANG pour cela.
Sur un linux RH5, j'ai
ensuite en regardant dans le man tu trouvera la possibilité de formater ton affichage comme tu le souhaite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $ echo $LANG fr_FR.UTF-8 $ date lun oct 26 16:17:50 CET 2009 $ export LANG="us_US.UTF-8" $ echo $LANG us_US.UTF-8 $ date Mon Oct 26 16:18:06 CET 2009
Dsl mais mon installation, n'inclut pas le support du français !
Me faudrait un autre script.
Dommage. Il suffit pourtant d'installer les locales du Français. Pas très compliqué.
Sinon, une variante:
A optimiser car quatre appels à la commande date, n'est pas ce qu'on fait de mieux en matière d'optimisation. A toi de factoriser tout ça pour n'en faire qu'un.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #! /bin/bash jours=(--- Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche) mois=(--- Janvier Février Mars Avril Mai Juin Juillet Aout Septembre Octobre Novembre Décembre) echo ${jours[$(date +%u)]} $(date +%d) ${mois[$(date +%m)]} $(date +%H:%M)
Version un peu plus optimisée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 jours=(--- Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche) mois=(--- Janvier Février Mars Avril Mai Juin Juillet Aout Septembre Octobre Novembre Décembre) dte=($(date +'%u %d %m %Y %H:%M')) echo ${jours[${dte[0]}]} ${dte[1]} ${mois[${dte[2]}]} ${dte[3]} ${dte[4]}
Un truc dans le style à compléter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #!/bin/ksh formaterDate() { jour="Lundi" case $1 in "Mon") jour="Lundi" ;; "Tue") jour="Mardi" ;; #A completer..... esac mois="Janvier" case $2 in "Jan") mois="Janvier" ;; "Feb") mois="Fevrier" ;; "Mar") mois="Mars" ;; # A completer esac numJour=$3 annee=$6 echo "Le $jour $numJour $mois $annee" } formaterDate `date`
Partager