Advertisement
Guest User

Menu Systeme

a guest
Nov 21st, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.67 KB | None | 0 0
  1. #!/bin/bash
  2. #menufonctions.sh
  3.  
  4. compterLignes()
  5. {
  6.     if [ $# -ne 1 ]
  7.     then
  8.         echo "Usage $0 fichier "
  9.         exit 1
  10.     fi
  11.  
  12.     if test ! -f $1
  13.     then
  14.         echo "le fichier $1 n'existe pas ou n'est pas régulier"
  15.         exit 2
  16.     fi
  17.  
  18.     exec <$1 # ou exec 0<$1 # le clavier est à 0 et ici le clavier n'existe plus et la lecture se fait sur $1
  19.     #exec > fichtest3 # on envoie le résultat du script dans un fichier
  20.     count=0
  21.     while read ligne # lit le fichier ligne par ligne
  22.     do
  23.         echo $ligne >> fichtest2
  24.         ((count=count+1)) # ((count++))
  25.     done
  26.  
  27.     echo "Le nombre de lignes dans $1 est de : $count"
  28. }
  29.  
  30. compterCaracteres()
  31. {
  32.     if [ $# -ne 1 ]
  33.     then
  34.         echo "Usage $0 fichier "
  35.         exit 1
  36.     fi
  37.  
  38.     if test ! -f $1
  39.     then
  40.         echo "le fichier $1 n'existe pas ou n'est pas régulier"
  41.         exit 1
  42.     fi
  43.  
  44.  
  45.     exec <$1 # ou exec 0<$1
  46.     count=0
  47.     while read ligne
  48.     do
  49.         for mot in $ligne #un mot
  50.         do
  51.             ((count=count+${#mot})) # // compte la longueur d'un mot (( count = 1 mot  + longueur d'un mot))
  52.         done
  53.     done
  54.  
  55.     echo "Le nombre de caractères dans $1 est de : $count"
  56. }
  57.  
  58. compterMots()
  59. {
  60.     if [ $# -ne 1 ]
  61.     then
  62.         echo "Usage $0 fichier "
  63.         exit 1
  64.     fi
  65.  
  66.     if test ! -f $1
  67.     then
  68.         echo "le fichier $1 n'existe pas ou n'est pas régulier"
  69.         exit 1
  70.     fi
  71.  
  72.     exec <$1 # ou exec 0<$1
  73.     count=0
  74.     while read ligne
  75.     do
  76.         for mot in $ligne #un mot
  77.         do
  78.          ((count=count+1)) # ((count++))
  79.         done
  80.     done
  81.  
  82.     echo "Le nombre de mots dans $1 est de : $count"
  83. }
  84.  
  85. copierfichier()
  86. {
  87.     if [ $# -ne 2 ]
  88.     then
  89.       echo "Usage $0 fichier1(source) fichier2(destination) "
  90.       exit 1
  91.     fi
  92.  
  93.     if test ! -f $1
  94.     then
  95.        echo "le fichier $1 n'existe pas ou n'est pas régulier"
  96.        exit 1
  97.     fi
  98.     exec < $1 # ou exec 0<$1
  99.     exec > $2 #envoie le resultat dans le fichier2
  100.     while read ligne
  101.     do
  102.         echo $ligne
  103.     done
  104. }
  105.  
  106. while :
  107. do
  108. echo "
  109.  
  110. ----- MENU PRINCIPAL -----
  111.  
  112. (1) CompterLignes
  113. (2) CompterCaracteres
  114. (3) CompterMots
  115. (4) CopierFichier
  116.  
  117. (5) Q = Quitter
  118. "
  119.  
  120. read choix_menu
  121. echo
  122. case $choix_menu in
  123. 1) echo "vous avez selectionné le menu: 1" ; compterLignes;;
  124. 2) echo "vous avez selectionné le menu: 2" ; compterCaracteres;;
  125. 3) echo "vous avez selectionné le menu: 3" ; compterMots;;
  126. 4) echo "vous avez selectionné le menu: 4" ; copierfichier;;
  127.  
  128.  
  129. 5 | Q | q ) echo "L'utilisateur $USER à quitter le programme" ; echo ; exit 0 ;;
  130. *) echo "Erreur de saisi Menu 1";;
  131. esac
  132. done
  133. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement