vendredi 3 février 2012

Unix / Linux : faire une liste simple de répertoire

Parfois, lorsque l'on dispose de nombreuses instances de programme, et qu'on souhaite automatiser des choses, sur des arborescence similaire , mais légèrement différentes (comme des nombreuses install tomcat)

il est utile de faire une boucle en shell. Un moyen simple, et la commande "ls" couplé a "cut" pour récupérer la partie variable de l'instance.

Par exemple, j'ai 3 instances tomcats :

/Metier/tomcat1/conf/server.xml
/Metier/tomcat2/conf/server.xml
/Metier/tomcat3/conf/server.xml
/Metier/UnAutreTomcat1/conf/server.xml
/Metier/ UnSecondTomcat1 /conf/server.xml

Je veux récupérer tous les fichiers server.xml de mes instances tomcat (et pas les 2 dernières), pour les gérer en conf.

Ce qui nous donne :

TOMCATS=`ls /MIDDLE/tomcat* | grep SSL-cnav2 | cut -d'/' -f 1`

for unTomcat in $TOMCATS ; do
  mkdir -p $DEST/$ unTomcat   
  cp -v /MIDDLE/cnav/$ unTomcat /tomcat1/conf/* $DEST/$unTomcat
done





Aucun commentaire:

Enregistrer un commentaire