Modification d'arborescence en shell

Résolu
Bonjour,

je souhaiterai avoir un script shell qui modifierai une arborescence que j'ai à partir d'un fichier (modif.txt) qui donnerait dans un premier temps le nom d'un repertoire à modifier, puis dans une 2eme colonne l'arborescence à faire.

explication: j'ai des fichiers dans un repertoire "toto" et dans mon fichier modif.txt j'ai "toto test1/arbo1/arbo2" ce qui signifit que je dois créer l'arborescence "test1/arbo1/arbo2" et que je dois mettre tout le contenu de "toto" dedans

quelqu'un pourrait il m'aider? :(
Configuration: Windows XP
Firefox 1.5.0.11
Unix

6 réponses

  1. oki merci!

    mais j'ai une dernière question...
    quand je récupère chaque ligne, j'ai besoin à partir de chaque ligne qui se trouev dans une variable $ligne la couper en fonction d'un séparateur defini
    j'ai essayé avec la commande cut -d" " mais il ne veut qu'un fichier
    je ne sais pas comment lui spécifier qu'il s'agit de couper en fonction de l'espace d'une variable

    ?
    1. Modérateur
      [jp@MDK tmpfs]$ var="un et un = deux"
      
      [jp@MDK tmpfs]$ echo $var
      un et un = deux
      
      [jp@MDK tmpfs]$ echo $var | cut -d= -f1
      un et un
      
      [jp@MDK tmpfs]$ echo $var | cut -d= -f2
       deux
      
      [jp@MDK tmpfs]$ 
      ;-))
  2. merci!

    mais je voulais savoir comment peut-on différencier chaque ligne du fichier modif.txt?
    étant donné que là le $old_rep avec le code que tu m'as donné contiendra tout le reste du fichier aussi...
    jvoulais faire une itération sur tout le fichier modif.txt pour que pour chaque ligne il change la premiere colonne (ki s'agit de l'ancien repertoire) par la nouvele arborescence de la colonne 2

    ?
  3. Modérateur
    Re-
    #! /bin/bash
    
    old_rep=$(cat modif.txt | cut -d" " -f1)
    new_rep=$(cat modif.txt | cut -d" " -f2)
    
    mkdir -p "$new_rep"
    mv ${old_rep}/* ${new_rep}/
    rm -rf ${old_rep}
    ls -R *
    A adapter, notamment pour les chemins et aussi la présence ou non de slash (en fin) dans le nom des répertoires fournis dans le fichier "modif.txt".
    1. re!

      alors pour répondre à tes questions:
      - le contenu de toto: des fichiers (type txt ou xls)
      - le contenu de modif.txt: il s'agit de plusieurs lignes contenant pour chacune d'elles 2 champs, le premier designant le repertoire où recuperer le contenu (ici "toto") et le 2eme champ il s'agit de la nouvelle arborescence à mettre en place (ici "test1/arbo1/arbo2") et dc à y mettre le contenu
      -perspective de l'arborescence finale:
      au lieu d'avoir le repertoire "toto" avec son contenu, nous avons le repertoire "test1" qui a à l'interieur un repertoire "arbo1" qui lui même a un repertoire "arbo2" et qui celui ci contient tous les fichiers qui étaient contenu precedemment dans "toto"

      si je ne suis toujours pas clair dites le moi :(

      merci
      1. Modérateur
        Salut,

        Donnes-nous davantage de détails, à savoir :
        - le contenu actuel de ton répertoire toto
        - le contenu du fichier modif.txt
        - les parties à prendre en compte
        - une perspective de l'arborescence finale et ce qui doit s'y trouver dedans

        Merci :-))