Convertion mois de l'année en chiffre

wtfunix Messages postés 48 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
j'aurai besoin de votre aide afin de réaliser un programme, qui, convertit les mois de l'année en chiffres et ensuite les compares. Mon programme de départ est le suivant:

cat parametres | awk -F\& '{print $1 $2 $3}' | awk '{ if ( $1 <= 2014 ) print $1" "$2" "$3 }' > fictemp

cat fictemp | awk '{ if ( $1 = "2014 " ) print $2" "$3 }' > fictemp2

nblign='wc -l fictemp | awk '{print $1}''

for ((i=1; i<=$nblign; i++)); do
ligne='sed -n ${i}p fictemp2'
mois='echo $ligne | awk '{print $1}''
jour='echo $ligne | awk '{print $2}''

echo "Mois:" $mois
echo "Jour:" $jour

done

Je voudrais qu 'à partir de fictemp2, le programme regarde les mois de l'année (qui seront convertis en chiffre) et qu'il comprenne que pour 01 c'est janvier ,...etc

Merci d'avance.
A voir également:

3 réponses

wtfunix Messages postés 48 Date d'inscription   Statut Membre Dernière intervention  
 
oui elle le fait bien, cependant moi je voudrais juste que dans le fichier s'il affiche : June 1 il écrive 06/01 :/
0
Utilisateur anonyme
 
salut,

outre les UUOC, le recours excessif à awk, et à des fichiers temporaires, l'hérésie de parcourir un fichier comme tu le fais,
ceci est faux:
if ( $1 = "2014 " )
, car ça réalise une affectation (dès lors
$1
vaut
2014
, ce qui est toujours vrai),
ça devrait être:
awk '$1 == 2014{print $2,$3}'
.

vu que tu utilises bash ou ksh (ça aurait été utile de mettre un shebang!), tu devrais implémenter une table d'équivalence dans un tableau indexé.

et réécrire ton script XD
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

La commande
date
fait ça très bien toute seule ;-\

$ DATE="2014/07/16"

$ echo ${DATE}
2014/07/16

$ date -d "${DATE}" '+%A %d %B %Y'
mercredi 16 juillet 2014

-1