Exe programme shell

Résolu
adamodin Messages postés 89 Statut Membre -  
adamodin Messages postés 89 Statut Membre -
Bonjour,
svp je vx votre aide
script qui affiche les n (p e n=12) premier lignes d une liste de nom de fichiers admis en parametre d entree le script devra verefie que la donnee n est correcte et il en est de meme avec les fichiers . les parametres a passer a ce script sont n et les nom des fichiers
voila ce que j ai fait svp tu px modifie les erreurs et merci bien
#/bin/bash
echo "entrie le nom de fichier"
read file
if test-f $file
then
echo"entrie le nombre de ligne "
read x
if (($x<0))
then
echo"le nombre est incorrect"
else
head -n $x $file
fi
fi
merci d'avance
Configuration: Windows 7 / Firefox 3.6

6 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    d une liste de nom de fichiers admis en parametre
    A mon avis il faut passer tous les fichiers dont on doit lire n lignes d'un coup et non pas demander les fichiers un par un.

    ./script_test.sh 5 fichier1 fichier2 fichier3


    d entree le script devra verefie que la donnee n est correcte
    Il faut vérifier que le 1er paramètre est bien une valeur numérique.
    Voir Tester une variable numérique

    et il en est de meme avec les fichiers .
    Ensuite il faut tester que les autres paramètres du script sont bien des fichiers

    shift
    for param in "$@"
    do
    if [ -f  "${param}" ]
    then
    echo "${param} est bien un fichier."
    else
    echo "${param} n'est pas un fichier."
    exit
    fi
    done

    0
  2. adamodin Messages postés 89 Statut Membre 13
     
    excuse moi mais je crois pas que vous avez pas répond a ma question car apres que le programme tester si le file est un fichier il affiche les n ligne ce quelle manque ds votre programme
    merci bien cher ami
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Re-

      Je ne t'ai pas donné le programme en entier, mais des briques à assembler, répondant à tes questions et aux besoins de ton script.

      A toi de rassembler les parties en tenant compte de ce que je t'ai donné.

      1 - Tester le 1er paramètre (numérique, voir lien)
      2 - Tester les autres paramètres (tu peux tout a fait inclure l'affichage des lignes du fichier de suite après avoir testé que le paramètre est bien un fichier...)
      0
  3. adamodin Messages postés 89 Statut Membre 13
     
    ok merci bien cher ami mais notre prof ma dis qu'il y a des erreurs donc il faut que l'éviter .personnellement j'arrive pas les déterminer .svp si tu px m'aider
    merci
    0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Essaye ça :

    #! /bin/sh
    
    #set -xv
    
    # Test nombre params
    if [ "$#" -lt 2 ]
    then echo "ERREUR ! Il faut au moins 2 paramètres."
    exit 3
    fi
    
    nbr="$1"
    if ! ((nbr)) 2>/dev/null
    then echo "ERREUR ! Le 1er paramètre n'est pas un entier."
    exit 4
    fi
    
    shift
    for param in "$@"
    do
    if [ -f  "${param}" ]
    then
    echo "${param} est bien un fichier."
    echo "Affichage des ${nbr} premières lignes du fichier ${param}..."
    echo
    head -n "${nbr}" "${param}"
    echo
    else
    echo "${param} n'est pas un fichier."
    echo
    fi
    done
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. adamodin Messages postés 89 Statut Membre 13
     
    merci bien ton script est parfait . merci bien
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De rien, il ne te restera plus qu'à expliquer à ton prof les différents choix ;-))
      0
      1. adamodin Messages postés 89 Statut Membre 13 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
         
        un autre demande svp je cherche des exercices de programation shell avec des corrections .connaissez vs des sites ???
        merci d'avance .
        0
  7. adamodin Messages postés 89 Statut Membre 13
     
    oui merci bien j ai bien compr ton script .
    un autre demande svp je cherche des exercices de programation shell avec des corrections .connaissez vs des sites ???
    merci d'avance .
    0