|
|
|
|
Bonjour,
Je cherche a tester l'existence d'un repertoire au bout d'un chemin. Ce chemin est créé par un "cat" sur un fichier de parametres "param" dont le contenu est ceci:
CFI xml 999923 RelancesJ'aimerais ensuite tester l'existence d'un repertoire "REP" (que je crée si il n'existe pas).
data/CFI/999923/Relanceset tester l'existence de "REP".
REP=ACreer
for i in `cat $param`
do
if [ ! -x $data/$1/$3/$4/${REP} ] ; then
mkdir ${REP}
fi
doneMerci de votre aideConfiguration: SunOS 5.9
Pour accompagner jipicy, voici un autre exemple ou l'on prend les paramètres depuis un fichier.
CFI xml 999923 Relances CFI xml 999923 Relances2 CFI xml 999923 Relances3 Tu veux tester si data/colonne 1/colonne 3/colonne 4 existe. Par exemple data/CFI/999923/Relances pour la première occurence. S'ils n'existe pas, on les crée. On pars du principe que data/CFI/999923/ existe déjà. Ca nous donne param=CFI #le fichier
#le sed permet de remplacer les espaces par des points-virgule
#sinon, les espaces sont pris comme séparateur comme les lignes
#dans une boucle for
for i in `cat $param | sed "s/ /;/g"`
do
#On cherche le nom du rep (avec colonne 1, colonne 3 etc....)
#le point virgule est pris comme délimiteur de champs pour cut
rep=data/$(echo $i | cut -d\; -f 1)/$(echo $i | cut -d\; -f 3)/$(echo $i | cut -d\; -f 4)
#S'il n'existe pas: création du repertoire
if [ ! -d $rep ]
then
mkdir $rep
fi
done
Note que pour créer un repertoire comme a/b/c/d/e Il faut déjà avoir créé a/b/c/d ..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...
|
Salut,
CFI xml 999923 Relances CFI xml 999923 Relances2 CFI xml 999923 Relances3 Au début /home/lami20j/CFI n'existe pas lami20j@debian:~$ ls -R CFI/ ls: CFI/: No such file or directoryje crée les répertoires en utilisant les données du fichier $ for i in $(sed 's/ /\//g' param);do if [ ! -d $(dirname $HOME/$i)/$(basename $HOME/$i) ];then mkdir -p $HOME/$i;fi;donej'affiche le résultat $ ls -R CFI/ CFI/: xml CFI/xml: 999923 CFI/xml/999923: Relances Relances2 Relances3 CFI/xml/999923/Relances: CFI/xml/999923/Relances2: CFI/xml/999923/Relances3: je crée le fichier a dans /home/lami20j/CFI/xml/999923/Relances et le ficher bb dans /home/lami20j/CFI/xml/999923/Relances2 je supprime le répertoire /home/lami20j/CFI/xml/999923/Relances3 $ touch CFI/xml/999923/Relances/a $ touch CFI/xml/999923/Relances2/bb $ rmdir CFI/xml/999923/Relances3j'affiche $ ls -R CFI/ CFI/: xml CFI/xml: 999923 CFI/xml/999923: Relances Relances2 CFI/xml/999923/Relances: a CFI/xml/999923/Relances2: bbje relance la commande qui lit le fichier paramètre $ for i in $(sed 's/ /\//g' param);do if [ ! -d $(dirname $HOME/$i)/$(basename $HOME/$i) ];then mkdir -p $HOME/$i;fi;donej'affiche $ ls -R CFI/ CFI/: xml CFI/xml: 999923 CFI/xml/999923: Relances Relances2 Relances3 CFI/xml/999923/Relances: a CFI/xml/999923/Relances2: bb CFI/xml/999923/Relances3: lami20j
|