benoitbalon posteets tagged bash  [ Profile ]

Sort by: Date / Title /

  1. 2 weeks ago
    Dès lors qu'on consulte un répertoire avec des photos sur Windows, si l'on fait un aperçu de celles-ci un fichier caché nommé "Thumbs.db" est automatiquement créé. Alors moi je dis "sus aux Thumbs.db" !
    1. rm `find . -name "*.db" -print`
  2. 2 weeks ago
    Ce sont plusieurs exemples mis dans la même boucle for, commentez celles qui ne vous servent pas...
    1. #! /bin/bash
    2.  
    3. for i in `ls -1 *.jpg`
    4. do
    5.     # Affiche la date et l'heure auxquelles la photo a ete prise (encore faut-il que l'appareil photo soit correctement configure !)
    6.     exiv2 $i | grep Horodatage
    7.  
    8.     # Change l'annee de la prise de la photo (ici l'annee 2008)
    9.     jhead -ds2008 $i
    10.  
    11.     # Avance l'heure de la prise de la photo (ici 1h 30m et 5s)
    12.     jhead -ta+01:30:05 $i
    13.  
    14.     # Recule l'heure de la prise de la photo (ici 0h 20m et 0s)
    15.     jhead -ta-00:20:00 $i
    16. done
  3. 4 months ago
    Ce petit script permet d'émuler une barre de progression et le pourcentage associé. La barre s'adapte automatiquement à la largeur du terminal. Pour l'exemple, le script boucle sur le nombre d'arguments qui lui sont passés en entrée. Le script fonctionne avec GNU-Linux et Solaris (cf. commande stty), pour d'autres OS il faudra les ajouter dans le script.
    1. #!/bin/sh
    2.  
    3. # ex :
    4. # ~$ test.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    5. # [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] 100.00%
    6.  
    7. barre_progression ()
    8. {
    9.         nb_iterations=$1
    10.         liste_length=$2
    11.         pourcent=`echo "scale=2;($nb_iterations * 100) / $liste_length" | bc`
    12.         pourcent=`printf "% 3.2f" "$pourcent"`
    13.        
    14.         chaine="$pourcent"
    15.         nb_etoiles=`echo "scale=0;$chaine / $diviseur_barre" | bc`
    16.         etoiles=""
    17.         while test $nb_etoiles -gt 0
    18.         do
    19.                 etoiles="${caractere_barre}${etoiles}"
    20.                 nb_etoiles=`echo "$nb_etoiles - 1" | bc`
    21.         done
    22.         etoiles=`printf "[%-${largeur_barre}s]" "$etoiles"`
    23.         pourcentage=`printf "%7s" "$chaine"`
    24.         #echo "\r${etoiles}${pourcentage}%\r\c"
    25.         printf "%b%b%b" "\r${etoiles}" "${pourcentage}" "%\r\c"
    26. }
    27.  
    28. # INITIALISATION DE LA BARRE DE PROGRESSION
    29. init_progress_bar ()
    30. {
    31.         # caractere qui sera affiche dans la barre de progression
    32.         caractere_barre="|"
    33.        
    34.         # detection de l'OS
    35.         os=`uname -s | tr [a-z] [A-Z]`
    36.        
    37.         # recuperation de la largeur en caracteres du terminal
    38.         if test "$os" = "LINUX"
    39.         then
    40.                 largeur_ecran=`stty -a | grep columns | cut -d ' ' -f7 | tr -d ';'`
    41.         elif test "$os" = "SUNOS"
    42.         then
    43.                 largeur_ecran=`stty | grep columns | cut -d ' ' -f6 | tr -d ';'`
    44.         else
    45.                 echo "Systeme d'exploitation incompatible, programme stoppe"
    46.                 exit 1
    47.         fi
    48.        
    49.         # calcul de la largeur optimale de la barre de progression
    50.         largeur_barre=`echo "$largeur_ecran - 7 - 2 - 1" | bc`
    51.         diviseur_barre=`echo "scale=2;100 / $largeur_barre" | bc`
    52.        
    53.         # protection des variables
    54.         readonly largeur_ecran largeur_barre diviseur_barre caractere_barre
    55. }
    56.  
    57. # gestion de la langue de l'environnement
    58. LC_NUMERIC=C
    59.  
    60. init_progress_bar
    61.  
    62. liste_length=$#
    63. nb_iterations=0
    64. if test $liste_length -gt 0
    65. then
    66.         for i in $@
    67.         do
    68.                 nb_iterations=`echo "$nb_iterations + 1" | bc`
    69.                 barre_progression "$nb_iterations" "$liste_length"
    70.                 # sleep 1
    71.         done
    72. fi
    73.  
    74. echo " "
  4. 5 months ago
    Je sais, c'est moche, mais c'est en attendant de trouver mieux...
    1. for i in `ls -1`; do cd $i; rename 's/ +/_/g' *; cd ..; done
    2. for i in `ls -1`; do cd $i; rename "s/'/-/g" *; cd ..; done
    3. for i in `ls -1`; do cd $i; rename "s/[?!%]//g" *; cd ..; done
    4. for i in `ls -1`; do cd $i; rename "s/[?]//g" *; cd ..; done
    5. for i in `ls -1`; do cd $i; rename 's/[!%?]//g' *; cd ..; done
    6. for i in `ls -1`; do cd $i; rename 's/[àâ]/a/g' *; cd ..; done
    7. for i in `ls -1`; do cd $i; rename 's/[éèêë]/e/g' *; cd ..; done
    8. for i in `ls -1`; do cd $i; rename 's/[oöô]/o/g' *; cd ..; done
    9. for i in `ls -1`; do cd $i; rename 's/[ûù]/u/g' *; cd ..; done
    10. for i in `ls -1`; do cd $i; rename 's/[ä]/a/g' *; cd ..; done
    11. for i in `ls -1`; do cd $i; rename 's/[ü]/u/g' *; cd ..; done
    12. for i in `ls -1`; do cd $i; rename 's/[,]/-/g' *; cd ..; done
    13. for i in `ls -1`; do cd $i; rename 's/[(){}]/-/g' *; cd ..; done
    14. for i in `ls -1`; do cd $i; rename 's/traeve/treve/g' *; cd ..; done
  5. 6 months ago
    Parfois, on peut avoir besoin de retrouver la date à partir de son quantième, c'est à dire à partir de son numéro de jour dans l'année. Ce script permet de retourner la date comprise entre aujourd'hui et il y a un an si l'année n'est pas précisée, ou bien de retourner la date dans l'année qui a été précisée.
    1. #!/bin/sh
    2.  
    3. usage="Usage : $0 -q `date +'%j'` [-y `date +'%Y'`]"
    4.  
    5. # gestion de la ligne de commande
    6. if test "$#" -eq 2
    7. then
    8.         if test "$1" != "-q"
    9.         then
    10.                 echo $usage
    11.                 exit 1
    12.         fi
    13. elif test "$#" -eq 4
    14. then
    15.         if test "$1" != "-q"
    16.         then
    17.                 echo $usage
    18.                 exit 1
    19.         fi
    20.         if test "$3" != "-y"
    21.         then
    22.                 echo $usage
    23.                 exit 1
    24.         fi
    25. else
    26.         echo $usage
    27.         exit 1
    28. fi
    29.  
    30. qte=$2
    31.  
    32. if test "$4" != ""
    33. then
    34.         annee_act=$4
    35.         val_y=`expr $annee_act + 1 2>> /dev/null`
    36.         if test "$?" != "0"
    37.         then
    38.                 echo $usage
    39.                 exit 1
    40.         fi
    41. fi
    42.  
    43. # verification des nombres
    44. val_q=`expr $qte + 1 2>> /dev/null`
    45. if test "$?" != "0"
    46. then
    47.         echo $usage
    48.         exit 1
    49. fi
    50.  
    51. # depassements de valeurs
    52. if test "$qte" -gt 366
    53. then
    54.         echo $usage
    55.         exit 1
    56. fi
    57.  
    58. if test "$qte" -lt 1
    59. then
    60.         echo $usage
    61.         exit 1
    62. fi
    63.  
    64. # comparaison avec le quantieme actuel
    65. if test "$4" = ""
    66. then
    67.         qte_act=`date +'%j'`
    68.         annee_act=`date +'%Y'`
    69.  
    70.         if test "$qte_act" -gt "$qte"
    71.         then
    72.                 continue
    73.         elif test "$qte_act" -lt "$qte"
    74.         then
    75.                 # la date recherchee est dans l'annee passee
    76.                 annee_act=`expr $annee_act - 1`
    77.         else
    78.                 # la date recherchee est celle d'aujourd'hui
    79.                 echo `date +'%Y-%m-%d'`
    80.                 exit 0
    81.         fi
    82. fi
    83.  
    84.  
    85. bis=`expr $annee_act % 4`
    86. if test "$bis" -gt 0
    87. then
    88.         fin_janvier=31
    89.         fin_fevrier=`expr 31 + 28`
    90.         fin_mars=`expr 31 + 28 + 31`
    91.         fin_avril=`expr 31 + 28 + 31 + 30`
    92.         fin_mai=`expr 31 + 28 + 31 + 30 + 31`
    93.         fin_juin=`expr 31 + 28 + 31 + 30 + 31 + 30`
    94.         fin_juillet=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31`
    95.         fin_aout=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31`
    96.         fin_septembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30`
    97.         fin_octobre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31`
    98.         fin_novembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30`
    99.         #fin_decembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31`
    100. else
    101.         fin_janvier=31
    102.         fin_fevrier=`expr 31 + 29`
    103.         fin_mars=`expr 31 + 29 + 31`
    104.         fin_avril=`expr 31 + 29 + 31 + 30`
    105.         fin_mai=`expr 31 + 29 + 31 + 30 + 31`
    106.         fin_juin=`expr 31 + 29 + 31 + 30 + 31 + 30`
    107.         fin_juillet=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31`
    108.         fin_aout=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31`
    109.         fin_septembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30`
    110.         fin_octobre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31`
    111.         fin_novembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30`
    112.         #fin_decembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31`
    113. fi
    114.  
    115. # annee non bissextile
    116. if test "$qte" -eq 366 && test "$bis" -gt 0
    117. then
    118.         exit 1
    119. fi
    120.  
    121. # detection de l'annee bissextile
    122. if test "$qte" -le "$fin_janvier"
    123. then
    124.         mois="01"
    125.         jour=`expr $qte + 0`
    126. elif test "$qte" -le "$fin_fevrier"
    127. then
    128.         mois="02"
    129.         jour=`expr $qte - 31`
    130. elif test "$qte" -le "$fin_mars"
    131. then
    132.         mois="03"
    133.         if test "$bis" -gt 0
    134.         then
    135.                 jour="`expr $qte - 31 - 28`"
    136.         else
    137.                 jour="`expr $qte - 31 - 29`"
    138.         fi
    139. elif test "$qte" -le "$fin_avril"
    140. then
    141.         mois="04"
    142.         if test "$bis" -gt 0
    143.         then
    144.                 jour="`expr $qte - 31 - 28 - 31`"
    145.         else
    146.                 jour="`expr $qte - 31 - 29 - 31`"
    147.         fi
    148. elif test "$qte" -le "$fin_mai"
    149. then
    150.         mois="05"
    151.         if test "$bis" -gt 0
    152.         then
    153.                 jour="`expr $qte - 31 - 28 - 31 - 30`"
    154.         else
    155.                 jour="`expr $qte - 31 - 29 - 31 - 30`"
    156.         fi
    157. elif test "$qte" -le "$fin_juin"
    158. then
    159.         mois="06"
    160.         if test "$bis" -gt 0
    161.         then
    162.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31`"
    163.         else
    164.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31`"
    165.         fi
    166. elif test "$qte" -le "$fin_juillet"
    167. then
    168.         mois="07"
    169.         if test "$bis" -gt 0
    170.         then
    171.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30`"
    172.         else
    173.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30`"
    174.         fi
    175. elif test "$qte" -le "$fin_aout"
    176. then
    177.         mois="08"
    178.         if test "$bis" -gt 0
    179.         then
    180.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31`"
    181.         else
    182.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31`"
    183.         fi
    184. elif test "$qte" -le "$fin_septembre"
    185. then
    186.         mois="09"
    187.         if test "$bis" -gt 0
    188.         then
    189.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31`"
    190.         else
    191.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31`"
    192.         fi
    193. elif test "$qte" -le "$fin_octobre"
    194. then
    195.         mois="10"
    196.         if test "$bis" -gt 0
    197.         then
    198.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30`"
    199.         else
    200.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30`"
    201.         fi
    202. elif test "$qte" -le "$fin_novembre"
    203. then
    204.         mois="11"
    205.         if test "$bis" -gt 0
    206.         then
    207.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31`"
    208.         else
    209.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31`"
    210.         fi
    211. else
    212.         mois="12"
    213.         if test "$bis" -gt 0
    214.         then
    215.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - 30`"
    216.         else
    217.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - 30`"
    218.         fi
    219. fi
    220.  
    221. # affichage de la date trouvee
    222. if test "$jour" -lt 10
    223. then
    224.         echo "${annee_act}-${mois}-0${jour}"
    225. else
    226.         echo "${annee_act}-${mois}-${jour}"
    227. fi
  6. 7 months ago
    Copier ce code dans un fichier Shell/Bash, et exécuter le script en mettant en argument la liste des années voulues. Ne pas oublier d'exporter la sortie vers fichier XML ex : $~ : ./generer_calendrier.sh 2008 2009 2010 > calendrier.xml
    1. #!/bin/sh
    2.  
    3. annee="$1"
    4. true=1
    5. false=0
    6.  
    7. # permet de lancer la commande cal pour un mois et une annee precis, et de traiter le decoupage des semaines
    8. get_month ()
    9. {
    10.         annee="$1"
    11.         mois="$2"
    12.         numligne="0"
    13.        
    14.         # execution de cal, et lecture de la sortie ligne par ligne
    15.         cal -m $mois $annee | while read ligne
    16.         do
    17.                 numligne=$((numligne + 1))
    18.                
    19.                 # on ne tient pas compte des lignes vides retournees par cal
    20.                 if test "`echo $ligne | tr -d ' '`" != ""
    21.                 then
    22.                        
    23.                         # on ne tient pas compte de la premiere ligne (mois et annee en cours) et de la deuxieme ligne (noms des jours)
    24.                         if test "$numligne" -gt 2
    25.                         then
    26.                                
    27.                                 # on tient compte de la premiere semaine du mois, afin de connaitre la position du premier jour
    28.                                 if test "$numligne" -lt 4
    29.                                 then
    30.                                         set_days $true $ligne
    31.                                 else
    32.                                         set_days $false $ligne
    33.                                 fi
    34.                                
    35.                         fi
    36.                        
    37.                 fi
    38.                
    39.         done
    40. }
    41.  
    42. # permet de decouper une semaine (une ligne retournee par cal) en jours
    43. set_days ()
    44. {
    45.         nb_jours=`expr $# - 1`
    46.         is_first_line=$1
    47.        
    48.         # on identifie le nombre de jours du mois en cours compris dans la semaine que l'on traite
    49.         case $nb_jours in
    50.                 1) # cette semaine ne comprend qu'un jour du mois en cours, le premier ou le dernier jour du mois
    51.                         if test "$is_first_line" = "$true"
    52.                         then
    53.                                 set_day 7 $2
    54.                         else
    55.                                 set_day 1 $2
    56.                         fi
    57.                         ;;
    58.                 2) # cette semaine comprend deux jours du mois en cours, les deux premiers ou les deux derniers
    59.                         if test "$is_first_line" = "$true"
    60.                         then
    61.                                 set_day 6 $2
    62.                                 set_day 7 $3
    63.                         else
    64.                                 set_day 1 $2
    65.                                 set_day 2 $3
    66.                         fi
    67.                         ;;
    68.                 3) # cette semaine comprend trois jours du mois en cours, les trois premiers ou les trois derniers
    69.                         if test "$is_first_line" = "$true"
    70.                         then
    71.                                 set_day 5 $2
    72.                                 set_day 6 $3
    73.                                 set_day 7 $4
    74.                         else
    75.                                 set_day 1 $2
    76.                                 set_day 2 $3
    77.                                 set_day 3 $4
    78.                         fi
    79.                         ;;
    80.                 4) # cette semaine comprend quatre jours du mois en cours, les quatre premiers ou les quatre derniers
    81.                         if test "$is_first_line" = "$true"
    82.                         then
    83.                                 set_day 4 $2
    84.                                 set_day 5 $3
    85.                                 set_day 6 $4
    86.                                 set_day 7 $5
    87.                         else
    88.                                 set_day 1 $2
    89.                                 set_day 2 $3
    90.                                 set_day 3 $4
    91.                                 set_day 4 $5
    92.                         fi
    93.                         ;;
    94.                 5) # cette semaine comprend cinq jours du mois en cours, les cinq premiers ou les cinq derniers
    95.                         if test "$is_first_line" = "$true"
    96.                         then
    97.                                 set_day 3 $2
    98.                                 set_day 4 $3
    99.                                 set_day 5 $4
    100.                                 set_day 6 $5
    101.                                 set_day 7 $6
    102.                         else
    103.                                 set_day 1 $2
    104.                                 set_day 2 $3
    105.                                 set_day 3 $4
    106.                                 set_day 4 $5
    107.                                 set_day 5 $6
    108.                         fi
    109.                         ;;
    110.                 6) # cette semaine comprend six jours du mois en cours, les six premiers ou les six derniers
    111.                         if test "$is_first_line" = "$true"
    112.                         then
    113.                                 set_day 2 $2
    114.                                 set_day 3 $3
    115.                                 set_day 4 $4
    116.                                 set_day 5 $5
    117.                                 set_day 6 $6
    118.                                 set_day 7 $7
    119.                         else
    120.                                 set_day 1 $2
    121.                                 set_day 2 $3
    122.                                 set_day 3 $4
    123.                                 set_day 4 $5
    124.                                 set_day 5 $6
    125.                                 set_day 6 $7
    126.                         fi
    127.                         ;;
    128.                 7) # cette semaine est pleine, donc on sait que le premier numero correspondra au lundi
    129.                         set_day 1 $2
    130.                         set_day 2 $3
    131.                         set_day 3 $4
    132.                         set_day 4 $5
    133.                         set_day 5 $6
    134.                         set_day 6 $7
    135.                         set_day 7 $8
    136.                         ;;
    137.                 *)
    138.                         echo "Un probleme a du survenir..."
    139.                         exit 1
    140.                         ;;
    141.         esac
    142. }
    143.  
    144. # permet de recopier en sortie la correspondance entre le jour et son numero dans le mois
    145. set_day ()
    146. {
    147.         echo "          <jour nom=\"$1\" numero=\"$2\"/>"
    148. }
    149.  
    150. # lance le traitement pour le calendrier d'une annee, mois par mois
    151. make_calendrier ()
    152. {
    153.         echo "<annee numero=\"$annee\">"
    154.        
    155.         echo "     <mois numero=\"1\">"
    156.         get_month $annee 1
    157.         echo "     </mois>"
    158.        
    159.         echo "     <mois numero=\"2\">"
    160.         get_month $annee 2
    161.         echo "     </mois>"
    162.        
    163.         echo "     <mois numero=\"3\">"
    164.         get_month $annee 3
    165.         echo "     </mois>"
    166.        
    167.         echo "     <mois numero=\"4\">"
    168.         get_month $annee 4
    169.         echo "     </mois>"
    170.        
    171.         echo "     <mois numero=\"5\">"
    172.         get_month $annee 5
    173.         echo "     </mois>"
    174.        
    175.         echo "     <mois numero=\"6\">"
    176.         get_month $annee 6
    177.         echo "     </mois>"
    178.        
    179.         echo "     <mois numero=\"7\">"
    180.         get_month $annee 7
    181.         echo "     </mois>"
    182.        
    183.         echo "     <mois numero=\"8\">"
    184.         get_month $annee 8
    185.         echo "     </mois>"
    186.        
    187.         echo "     <mois numero=\"9\">"
    188.         get_month $annee 9
    189.         echo "     </mois>"
    190.        
    191.         echo "     <mois numero=\"10\">"
    192.         get_month $annee 10
    193.         echo "     </mois>"
    194.        
    195.         echo "     <mois numero=\"11\">"
    196.         get_month $annee 11
    197.         echo "     </mois>"
    198.        
    199.         echo "     <mois numero=\"12\">"
    200.         get_month $annee 12
    201.         echo "     </mois>"
    202.  
    203.         echo "</annee>"
    204. }
    205.  
    206. echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
    207. echo "<!--?xml-stylesheet href=\"calendrier.xsl\" type=\"text/xsl\"?-->"
    208. echo "<calendrier>"
    209. echo "<noms_jours>"
    210. echo "  <nom numero=\"1\" lang=\"fr\">lundi</nom>"
    211. echo "  <nom numero=\"2\" lang=\"fr\">mardi</nom>"
    212. echo "  <nom numero=\"3\" lang=\"fr\">mercredi</nom>"
    213. echo "  <nom numero=\"4\" lang=\"fr\">jeudi</nom>"
    214. echo "  <nom numero=\"5\" lang=\"fr\">vendredi</nom>"
    215. echo "  <nom numero=\"6\" lang=\"fr\">samedi</nom>"
    216. echo "  <nom numero=\"7\" lang=\"fr\">dimanche</nom>"
    217. echo "  <nom numero=\"1\" lang=\"it\">luned&#236;</nom>"
    218. echo "  <nom numero=\"2\" lang=\"it\">marted&#236;</nom>"
    219. echo "  <nom numero=\"3\" lang=\"it\">mercoled&#236;</nom>"
    220. echo "  <nom numero=\"4\" lang=\"it\">gioved&#236;</nom>"
    221. echo "  <nom numero=\"5\" lang=\"it\">venerd&#236;</nom>"
    222. echo "  <nom numero=\"6\" lang=\"it\">sabato</nom>"
    223. echo "  <nom numero=\"7\" lang=\"it\">domenica</nom>"
    224. echo "  <nom numero=\"1\" lang=\"en\">monday</nom>"
    225. echo "  <nom numero=\"2\" lang=\"en\">tuesday</nom>"
    226. echo "  <nom numero=\"3\" lang=\"en\">wednesday</nom>"
    227. echo "  <nom numero=\"4\" lang=\"en\">thursday</nom>"
    228. echo "  <nom numero=\"5\" lang=\"en\">friday</nom>"
    229. echo "  <nom numero=\"6\" lang=\"en\">saturday</nom>"
    230. echo "  <nom numero=\"7\" lang=\"en\">sunday</nom>"
    231. echo "  <nom numero=\"1\" lang=\"de\">montag</nom>"
    232. echo "  <nom numero=\"2\" lang=\"de\">dienstag</nom>"
    233. echo "  <nom numero=\"3\" lang=\"de\">mittwoch</nom>"
    234. echo "  <nom numero=\"4\" lang=\"de\">donnerstag</nom>"
    235. echo "  <nom numero=\"5\" lang=\"de\">freitag</nom>"
    236. echo "  <nom numero=\"6\" lang=\"de\">samstag</nom>"
    237. echo "  <nom numero=\"7\" lang=\"de\">sonntag</nom>"
    238. echo "  <nom numero=\"1\" lang=\"es\">lunes</nom>"
    239. echo "  <nom numero=\"2\" lang=\"es\">martes</nom>"
    240. echo "  <nom numero=\"3\" lang=\"es\">mi&#233;rcoles</nom>"
    241. echo "  <nom numero=\"4\" lang=\"es\">jueves</nom>"
    242. echo "  <nom numero=\"5\" lang=\"es\">viernes</nom>"
    243. echo "  <nom numero=\"6\" lang=\"es\">s&#225;bado</nom>"
    244. echo "  <nom numero=\"7\" lang=\"es\">domingo</nom>"
    245. echo "</noms_jours>"
    246. echo "<noms_mois>"
    247. echo "  <nom numero=\"1\" lang=\"fr\">janvier</nom>"
    248. echo "  <nom numero=\"2\" lang=\"fr\">f&#233;vrier</nom>"
    249. echo "  <nom numero=\"3\" lang=\"fr\">mars</nom>"
    250. echo "  <nom numero=\"4\" lang=\"fr\">avril</nom>"
    251. echo "  <nom numero=\"5\" lang=\"fr\">mai</nom>"
    252. echo "  <nom numero=\"6\" lang=\"fr\">juin</nom>"
    253. echo "  <nom numero=\"7\" lang=\"fr\">juillet</nom>"
    254. echo "  <nom numero=\"8\" lang=\"fr\">ao&#251;t</nom>"
    255. echo "  <nom numero=\"9\" lang=\"fr\">septembre</nom>"
    256. echo "  <nom numero=\"10\" lang=\"fr\">octobre</nom>"
    257. echo "  <nom numero=\"11\" lang=\"fr\">novembre</nom>"
    258. echo "  <nom numero=\"12\" lang=\"fr\">d&#233;cembre</nom>"
    259. echo "  <nom numero=\"1\" lang=\"en\">january</nom>"
    260. echo "  <nom numero=\"2\" lang=\"en\">february</nom>"
    261. echo "  <nom numero=\"3\" lang=\"en\">march</nom>"
    262. echo "  <nom numero=\"4\" lang=\"en\">april</nom>"
    263. echo "  <nom numero=\"5\" lang=\"en\">may</nom>"
    264. echo "  <nom numero=\"6\" lang=\"en\">june</nom>"
    265. echo "  <nom numero=\"7\" lang=\"en\">july</nom>"
    266. echo "  <nom numero=\"8\" lang=\"en\">august</nom>"
    267. echo "  <nom numero=\"9\" lang=\"en\">september</nom>"
    268. echo "  <nom numero=\"10\" lang=\"en\">october</nom>"
    269. echo "  <nom numero=\"11\" lang=\"en\">november</nom>"
    270. echo "  <nom numero=\"12\" lang=\"en\">december</nom>"
    271. echo "  <nom numero=\"1\" lang=\"es\">enero</nom>"
    272. echo "  <nom numero=\"2\" lang=\"es\">febrero</nom>"
    273. echo "  <nom numero=\"3\" lang=\"es\">marzo</nom>"
    274. echo "  <nom numero=\"4\" lang=\"es\">abril</nom>"
    275. echo "  <nom numero=\"5\" lang=\"es\">mayo</nom>"
    276. echo "  <nom numero=\"6\" lang=\"es\">junio</nom>"
    277. echo "  <nom numero=\"7\" lang=\"es\">julio</nom>"
    278. echo "  <nom numero=\"8\" lang=\"es\">agosto</nom>"
    279. echo "  <nom numero=\"9\" lang=\"es\">septiembre</nom>"
    280. echo "  <nom numero=\"10\" lang=\"es\">octubre</nom>"
    281. echo "  <nom numero=\"11\" lang=\"es\">noviembre</nom>"
    282. echo "  <nom numero=\"12\" lang=\"es\">diciembre</nom>"
    283. echo "  <nom numero=\"1\" lang=\"de\">januar</nom>"
    284. echo "  <nom numero=\"2\" lang=\"de\">februar</nom>"
    285. echo "  <nom numero=\"3\" lang=\"de\">m&#228;rz</nom>"
    286. echo "  <nom numero=\"4\" lang=\"de\">april</nom>"
    287. echo "  <nom numero=\"5\" lang=\"de\">mai</nom>"
    288. echo "  <nom numero=\"6\" lang=\"de\">juni</nom>"
    289. echo "  <nom numero=\"7\" lang=\"de\">juli</nom>"
    290. echo "  <nom numero=\"8\" lang=\"de\">august</nom>"
    291. echo "  <nom numero=\"9\" lang=\"de\">september</nom>"
    292. echo "  <nom numero=\"10\" lang=\"de\">oktober</nom>"
    293. echo "  <nom numero=\"11\" lang=\"de\">november</nom>"
    294. echo "  <nom numero=\"12\" lang=\"de\">dezember</nom>"
    295. echo "  <nom numero=\"1\" lang=\"it\">gennaio</nom>"
    296. echo "  <nom numero=\"2\" lang=\"it\">febbraio</nom>"
    297. echo "  <nom numero=\"3\" lang=\"it\">marzo</nom>"
    298. echo "  <nom numero=\"4\" lang=\"it\">aprile</nom>"
    299. echo "  <nom numero=\"5\" lang=\"it\">maggio</nom>"
    300. echo "  <nom numero=\"6\" lang=\"it\">giugno</nom>"
    301. echo "  <nom numero=\"7\" lang=\"it\">luglio</nom>"
    302. echo "  <nom numero=\"8\" lang=\"it\">agosto</nom>"
    303. echo "  <nom numero=\"9\" lang=\"it\">settembre</nom>"
    304. echo "  <nom numero=\"10\" lang=\"it\">ottobre</nom>"
    305. echo "  <nom numero=\"11\" lang=\"it\">novembre</nom>"
    306. echo "  <nom numero=\"12\" lang=\"it\">dicembre</nom>"
    307. echo "</noms_mois>"
    308.  
    309. # lance le traitement du calendrier de chaque annee passee en parametre du script
    310. for annee in $@
    311. do
    312.         make_calendrier $annee
    313. done
    314.  
    315. echo "</calendrier>"
    316.  
    317. exit 0
  7. 7 months ago
    1. affiche_texte ()
    2. {
    3.         texte="$1"
    4.         alignement="$2"
    5.         nbcolonnes=80
    6.        
    7.       &