script et find

script et find - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 23-03-2004 à 10:54:58    

C est mon premier script
je veux chercher tous les fichiers build.xml dans un repertoire(qui contient des sous repertoires) et les passer comme parametres dans une commande (pas tous a la fois, un par un)

Reply

Marsh Posté le 23-03-2004 à 10:54:58   

Reply

Marsh Posté le 23-03-2004 à 10:56:41    

quelque chose comme ça :
find . -name "build.xml" -exec "ma_commande"


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 23-03-2004 à 11:01:28    

en fait ma commande est de la forme:
ant build.xml machin

Reply

Marsh Posté le 23-03-2004 à 11:04:37    

Code :
  1. #!/bin/bash
  2. list=`find . -name "build.xml"`
  3. for i in list; do
  4. ant i machin
  5. done

Reply

Marsh Posté le 23-03-2004 à 11:08:22    

merci a tous

Reply

Marsh Posté le 23-03-2004 à 11:09:46    

find . -name "build.xml" -exec ant {} \;
Attention il faut obligatoirement le \; avec un espace devant pour que ca marche

Reply

Marsh Posté le 23-03-2004 à 14:44:50    

find . -name "build.xml" -exec ant {} machin \;  
 
{} est remplacé par le nom du fichier (chemin relatif)
\; marque la fin de la commande à exécuter pour chaque fichier trouvé

Reply

Marsh Posté le 23-03-2004 à 15:19:20    

en fait, j ai un petit probleme avec ant  
c est que je peux pas l'executer a partir d un autre repertoire
par exemple si je fais
ant ../ActionManager/build.xml  
ca me donne ca:
Buildfile: build.xml does not exist!
Build failed

Reply

Marsh Posté le 23-03-2004 à 15:25:37    

j ai trouve la solutions il faut ajouter -f:
find . -name "build.xml" -exec ant -f {} machin \;  

Reply

Sujets relatifs:

Leave a Replay

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