comparaison et creation de repertoire

comparaison et creation de repertoire - Shell/Batch - Programmation

Marsh Posté le 31-10-2011 à 10:54:38    

bonjour ,  
 
j'ai un fichier rep.txt avec des données : ex toto , lp (cela peut etre nimporte quoi)  
 
et j'ai un autre fichier toto.txt avec un nom à l’intérieur : ex DUPONT;Jean  
 
donc je dois vérifier si toto du rep.txt correspond à un fichier toto.txt et si oui créer un répertoire DUPONT JEAN sous le répertoire toto(précédemment créé);  
 
arborescence
 
fichier rep.txt qui cree un repertoire toto,
fichier toto.txt qui correspond au repertoire toto qui creer un sous repertoire avec son contenu
 
donc cela donne :
 
repertoire toto
sous repertoir DURand Jacques(nom contenu dans toto.txt)
 
J'ai pensé à utiliser une boucle séquentielle mais je ne suis pas sur de comment écrire cette boucle.  
 
while read rep other
do
echo $rep
done < rep.txt
 
Comment creer le sous repertoire durand jacques en verifiant un fichier dont le nom peut etre nimporte lequel

Reply

Marsh Posté le 31-10-2011 à 10:54:38   

Reply

Marsh Posté le 31-10-2011 à 11:24:13    

emytom0308 a écrit :

bonjour ,  
 
j'ai un fichier rep.txt avec des données : ex toto , lp (cela peut etre nimporte quoi)  
 
et j'ai un autre fichier toto.txt avec un nom à l’intérieur : ex DUPONT;Jean  
 
donc je dois vérifier si toto du rep.txt correspond à un fichier toto.txt et si oui créer un répertoire DUPONT JEAN sous le répertoire toto(précédemment créé);


 

Code :
  1. while read info
  2. do
  3.    mkdir "$info"
  4.    if test -f "$info.txt"
  5.    then
  6.        while read nom
  7.        do
  8.             mkdir "$info"/`echo "$nom" |sed -e "s/;/ /g"`
  9.        done <"$info.txt"
  10.    fi
  11. done <rep.txt


 
Et si le second mkdir contient l'option "-p", alors le premier devient inutile (mais je l'ai mis car tu avais écrit "précédemment créé" )


Message édité par Sve@r le 31-10-2011 à 11:28:11
Reply

Marsh Posté le 31-10-2011 à 11:45:24    

Pourrais tu m´expliquer ce bout de code

Reply

Marsh Posté le 31-10-2011 à 15:11:04    

emytom0308 a écrit :

Pourrais tu m´expliquer ce bout de code


Code :
  1. while read info
  2. do
  3.    mkdir "$info"
  4.    if test -f "$info.txt"
  5.    then
  6.        while read nom
  7.        do
  8.            mkdir "$info"/`echo "$nom" |sed -e "s/;/ /g"`
  9.        done <"$info.txt"
  10.    fi
  11. done <rep.txt


 
Je lis les lignes situées dans "rep.txt". Donc si la ligne contient "toto" je lis "toto". Je stocke cette ligne dans la variable "info"
Je crée le répertoire dont le nom est dans "info" (donc ici "toto" ).
Si le fichier dont le nom est dans "info" suivi de ".txt" (donc ici "toto.txt" ) existe, alors je lis les lignes situées dans "toto.txt". Donc si la ligne contient "DUPONT;Jean" je lis "DUPONT;Jean". Je stocke ces lignes dans la variable "nom".
Je crée le dossier "$info" ("toto" ) suivi de "/" suivi du nom où je remplace ";" par " " => "toto/DUPONT Jean"
 
Bref ce bout de code reprend exactement ce que tu as demandé (je cite)

Citation :

j'ai un fichier rep.txt avec des données : ex toto , lp (cela peut etre nimporte quoi)  
 
et j'ai un autre fichier toto.txt avec un nom à l’intérieur : ex DUPONT;Jean  
 
donc je dois vérifier si toto du rep.txt correspond à un fichier toto.txt et si oui créer un répertoire DUPONT JEAN sous le répertoire toto(précédemment créé);


Message édité par Sve@r le 31-10-2011 à 15:12:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed