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 :

Script bash traitement de fichiers d'un dossier par rapport au nom du fichier trouvé


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par défaut Script bash traitement de fichiers d'un dossier par rapport au nom du fichier trouvé
    Bonjour,

    je désire faire un script bash qui traite des fichiers disponibles dans un dossier,

    les fichiers ont la forme suivante : AAA-BBB-CCC.txt

    Je voudrais une sorte de boucle qui va lire le nom du fichier et le découper pour que chaque terme soit transformé en variable de la façon suivante :

    fichier AAA-BBB-CCC.txt > variable1=AAA variable1=BBB variable1=CCC

    par la suite je doit réutiliser les variables 1 / 2 et 3 dans une autre fonction

    exemple

    1. fonction découpage : AAA-BBB-ccc.txt transformé en A=AAA B=BBB C=CCC
    2. fonction traitement : $A $B $C



    à savoir qu'il y a plusieurs fichiers (une dizaine) à traiter l'un après l'autre, que je connais toutes les valeurs possibles pour AAA/BBB/CCC et que les fichiers en questions contiennent des listes d'IP que je vais traiter selon les valeurs trouvées pour AAA/BBB/CCC.

    Je ne vois vraiment pas comment m'y prendre. Merci pour votre aide

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 341
    Par défaut
    Bonjour et bienvenue,

    Voici une piste en bash:
    dans mon répertoire, j'ai les fichiers suivants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ ls
    AAA-BBB-CCC.txt  DDD-EEE-FFF.txt
    Et la partie bash qui traite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $ for i in *.txt; do echo "cas i=$i" ; read a b c r <<<${i//[-.]/ }; echo $a ; echo $b ; echo $c ;done
    cas i=AAA-BBB-CCC.txt
    AAA
    BBB
    CCC
    cas i=DDD-EEE-FFF.txt
    DDD
    EEE
    FFF
    En version indenté, cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for i in *.txt
    do
      echo "cas i=$i"
      read a b c r <<<${i//[-.]/ }
      echo $a
      echo $b
      echo $c
    done
    A toi de faire la suite...

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/09/2017, 18h50
  2. Creation de dossiers par rapport à la date des fichiers
    Par jucost dans le forum Discussions diverses
    Réponses: 2
    Dernier message: 08/05/2012, 12h45
  3. choix Editor par rapport au nom de fichier
    Par Aurelien Pupier dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 02/07/2008, 15h06
  4. Rechercher les nom de fichier dans un dossier
    Par Didibzh dans le forum Langage
    Réponses: 2
    Dernier message: 15/06/2007, 11h41
  5. Lister les fichiers d'un dossier par page
    Par bwatex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/08/2006, 19h09

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