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 shell pour renommer des fichiers dans des sous répértoires


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut Script shell pour renommer des fichiers dans des sous répértoires
    Bonjour,

    Je posséde actuellement plusieurs dossiers contenant chacun un fichier du méme nom:
    Ex:
    dossier 1=> fichier1, dossier 2=> fichier 1,dossier 3=> fichier 1...

    Je cherche actuellement à déplacer tous ces fichiers dans un unique dossier en les renommant de la facon suivante:

    dossier1fichier1,dossier2fichier1,.....

    c'est à dire mettre au début de chaque fichier le nom du dossier ou il se trouve.

    Etant débutant en script Shell, j'ai cherché un peu sur internet les différentes commandes permettant cette manip(je sais que c'est tout bete pour un expert) mais je n'en suis pas un

    j'ai essayé un script du genre pour le renommage, mais je ne pense pas que ce soit tout a fait ca :

    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/bash
    for i in `find -type d -exec basename {} \;`
     
    do
           cd $i
     
           find . -name "*.txt"| while read fichier
           do 
           test=${fichier%.txt} 
           mv ${fichier} $i ${test}.txt
            done 
     
    done
    Pourrriez vous s'il vous plait me donnez des suggestions sur sujet.

    Merci et bonne féte à tous.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    Bonjour,

    voici une solution générique, que, bien sûr, il faudra adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shopt -s extglob globstar nullglob; for i in $PWD/**/*; do test -f "$i" && mv "$i" "dossierUniq/${i//@($PWD|\/)/}"; done
    les explications sont dans le man de bash
    et les tutoriels indiqués dans ma signature.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Par défaut
    Merci beaucoup N_BaH,ton commentaire m'a appris pas mal de trucs, au niveau de mon script initial ce qui clochait est qu' il fallait un cd .. pour qu'a chaque fois il retourne vers le répértoire courant et pas celui ou il était entré lors de la premiére itération.

    En tous cas merci beaucoup à vous pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [KSH] Script pour trier des fichier dans des répertoires par mois
    Par MsieurDams dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 08/08/2014, 14h32
  2. VBS aide pour compter des valeurs dans des fichiers xml
    Par jorge91450 dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/01/2013, 13h28
  3. script shell pour remplacer un mot dans un fichier
    Par MSM_007 dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2010, 20h37
  4. script shell pour renommer un fichier
    Par wang_xue dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 15/11/2007, 15h45
  5. Chemin d'accès des fichiers dans des sous rep
    Par Le Veilleur dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/11/2004, 14h37

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