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 GNU Discussion :

Récupération du noms des fichiers dans un répertoire


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut Récupération du noms des fichiers dans un répertoire
    Bonsoir,

    Débutant en linux, j'ai besoin de votre aide pour un petit problème que je n'ai pas réussi à trouver.

    Problem: J'ai un répertoire contenant des fichiers de formats différents (html, doc, etc). J'ai créé une fonction permettant de récupérer les données que j'aurai besoin. Pour l'instant aucun souci de ce coté. Cependant en sortie, la seule chose que je sais faire c'est que les résultats sont récupérés dans un fichier .txt.

    Ce que je voudrais (mais pas réussi), c'est de mettre les données récupérées dans un fichier .txt avec le nom du fichier de départ.

    Je m'explique:

    fichiers de départ: lolo.htm, lolo1.htm, lolo2.htm
    ==> fonction
    résultats de lolo.htm > lolo.txt
    résultats de lolo1.htm > lolo1.txt
    résultats de lolo2.htm > lolo.txt

    j'espère que j'ai bien expliqué. J'ai utilisé "echo $... > fichier.txt" mais sans résultats.

    Merci d'avance pour vos aides.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    pourrais-tu mettre ta fonction histoire de voir un peu plus clair?

    Merci d'avance,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut
    voici ma petite fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/sh
    rep=/var/test/*
    result=md4List=/var/test/resultats.log
     
    #fonction
    recup_htm () {
                recupHref=$(cat $i | grep -i "href=")
                       }
     
    #récupération des données
    for i in `find $rep -type f -name ".htm"`  ; do
    recup_htm $i
    echo "$recupHref" >>$result
    done
    Pour l'instant mes résultats ne sont que dans le fichier "result".


    Voila petite fonction, cependant, dans le répertoire j'ai des fichiers en htm avec des noms différents. Je voudrais que ma fonction traite ces fichiers puis mettre les résultats correspondant au chacun de fichiers dans des fichiers .txt avec les noms des fichiers de départs.

    (départ: toto.htm, tata.htm, titi.htm => fonction => résultat de toto.htm dans "toto.txt", puis résultat de tata.htm.txt, puis résultat de titi.htm dans titi.txt).

    Merci pour votre aide


    Citation Envoyé par Mygale1978 Voir le message
    Salut,

    pourrais-tu mettre ta fonction histoire de voir un peu plus clair?

    Merci d'avance,

  4. #4
    Invité
    Invité(e)
    Par défaut
    Hello,

    Voici une suggestion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    #!/bin/sh
     
    source_path='/var/test/'
    target_path='/var/dest/'
     
    #fonction
    recup_htm () {
    sourceExt='.htm'
    #extension pour le fichier résultat
    targetExt='.txt'
     
    #Je suppose que tous tes fichiers ont la structure "nom.ext"
    #Je récupère le nom du fichier sans l'extension
    fileName=$(basename $1 $sourceExt)
     
    #Je traite le résultat et je le redirige vers le fichier résultat de même nom
    grep -i "href=" $1 > ${target_path}${fileName}${targetExt}
    }
     
    #récupération des données
    for file in `find ${source_path} -type f -name "*.htm"` ; do
    recup_htm ${file}
    done
    Dernière modification par Invité ; 03/08/2008 à 01h47.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 8
    Par défaut
    salut,

    je teste ca tout de suite, merci encore


    Citation Envoyé par Mygale1978 Voir le message
    Hello,

    Voici une suggestion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #!/bin/sh
     
    source_path='/var/test/'
    target_path='/var/dest/'
     
    #fonction
    recup_htm () {
     
    sourceExt='.htm'
    #extension pour le fichier résultat
    targetExt='.txt'
     
    #Je suppose que tous tes fichiers ont la structure "nom.ext"
    #Je récupère le nom du fichier sans l'extension
    fileName=$(basename $1 $sourceExt)
     
    #Je traite le résultat et je le redirige vers le fichier résultat de même nom
    grep -i "href=" $1 > ${source_path}${fileName}${targetExt}
    }
     
    #récupération des données
    for file in `find ${source_path} -type f -name "*.htm"` ; do
    recup_htm ${source_path}${file}
    done

  6. #6
    Invité
    Invité(e)
    Par défaut
    Hello,

    une petite erreur dans le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    recup_htm ${source_path}${file}
    doit être remplacé par


Discussions similaires

  1. Récupération nom des fichiers dans un répertoire
    Par oliviernouhi dans le forum Langage
    Réponses: 2
    Dernier message: 04/04/2011, 14h21
  2. Réponses: 2
    Dernier message: 03/09/2008, 17h14
  3. lire le nom des fichiers dans un répertoire
    Par wonderboutin123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/11/2007, 04h22
  4. Ecrire les noms des fichiers dans une colonne
    Par REGIMBAL dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2006, 11h29
  5. rechercher d'un nom de fichier dans un répertoire
    Par yerome dans le forum Langage
    Réponses: 7
    Dernier message: 21/07/2005, 11h54

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