Modification d'arborescence en shell

Résolu
chtiludoo -  
chtiludoo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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? :(
A voir également:

6 réponses

chtiludoo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   1
 
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

?
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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 :-))
0
chtiludoo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   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
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chtiludoo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   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

?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[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]$ 
;-))
0
chtiludoo Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   1
 
merci c'est bon mon script marche :)
jte remercie bcp!
0