IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

script shell Afficher contenu fichier


Sujet :

Shell et commandes POSIX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut script shell Afficher contenu fichier
    Bonjour,

    je suis débutante en Unix et je dois créer un script permettant d'afficher le contenu de tous les fichiers du répertoire courant.
    J'ai fait ça:

    #!/bin/sh
    For fich in *
    do
    cat $fich
    done

    Le résultat m'affiche le résultat pour tous les fichiers à la suite l'un de l'autre. Est ce que quelqu'un sait comment faire pour afficher le contenu fichier par fichier?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    To script est équivalent à:
    qui en plus ne plantera pas si des fichiers contiennent des espaces dans leur nom.

    Quelle différence fait tu entre "fichier par fichier" et "tous les fichiers à la suite l'un de l'autre" ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    En fait je dois écrire un script qui propose d'afficher le contenu de chaque fichier du répertoire courant et qui exécute une commande sur le fichier en question si l'utilisateur le souhaite.
    Merci!

    Caroline

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    En décrivant exactement ce que tu souhiates faire, l'algorithme vient tout seul, et l'écriture aussi :-)

    Lister tous les fichier du répertoire courant : Pour chacun de ces fichiers : Poser une question à l'utilisateur : Lire sa réponse : Action si la variable vaut 'Y' ou 'y' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if [ $MA_VARIABLE = 'Y' ] || [ $MA_VARIABLE = 'y' ]
    then
    ## actions sur le fichier $fich
    else
    ## Pas d'action sur $fich
    fi
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Ou peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select file in * Quitter
    do
        [[ "$file" = "Quitter" ]] && break
        maCommande $file
    done
    Ce script ne traitera pas correctement certains noms de fichiers (ex: "mon fichier").

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 20
    Par défaut
    merci pour vos réponses
    En fait j'ai fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for fich in *
    do
    	echo “ma question”
    	read reponse
    	if [ $reponse = “oui” ]
    	then
    		ma commande
    	fi

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    C'est presque bon, mais ça va planter si quelqu'un appuie sur entrée sans rien taper d'autre. Un solution est de faire if [ "$reponse" = "oui" ] (note les guillemets autour de $reponse).

    D'autre part, n'oublie pas de mettre des guillemets autour de $fich dans ta commande : par exemple cat "$fich", pas cat $fich. Sinon ça ne va pas marcher pour les fichiers dont le nom contient un espace.

Discussions similaires

  1. Script shell : afficher le contenu des variables entre simple quote
    Par mualki dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 23/01/2010, 00h14
  2. Script Shell sur des fichiers et chaînes
    Par chris_wafer dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 29/01/2008, 21h45
  3. Exécuter un script shell via le fichier .mailrc
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 16/06/2007, 18h42
  4. script shell : lire un fichier et donner pour traitement au script
    Par pc974 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 14/05/2007, 14h38
  5. [Système] PHP : Afficher contenu fichier Excel
    Par AliochaBada dans le forum Langage
    Réponses: 1
    Dernier message: 04/12/2006, 23h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo