Convertion mois de l'année en chiffre

Fermé
wtfunix Messages postés 48 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 25 août 2014 - 16 juil. 2014 à 14:01
 Utilisateur anonyme - 16 juil. 2014 à 14:52
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.

3 réponses

wtfunix Messages postés 48 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 25 août 2014
16 juil. 2014 à 14:36
oui elle le fait bien, cependant moi je voudrais juste que dans le fichier s'il affiche : June 1 il écrive 06/01 :/
0
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 dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
16 juil. 2014 à 14:11
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