Modification d'arborescence en shell
Résolu
chtiludoo
-
chtiludoo Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
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? :(
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:
- Modification d'arborescence en shell
- Classic shell - Télécharger - Personnalisation
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Modification dns - Guide
- Modification liste déroulante excel - Guide
6 réponses
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
?
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
?
jipicy
Messages postés
40842
Date d'inscription
Statut
Modérateur
Dernière intervention
4 896
Voir la FAQ : comment lire un fichier ligne par ligne
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 :-))
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 :-))
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
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
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".
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
?
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
?