-lsl- Posted December 22, 2004 Share Posted December 22, 2004 salut tt le monde !!! j'ai un petit probléme avec IFS et for echo "ce script va scanner les repertoires " find $HOME/photos/?* -type d > $HOME/photos/tree.txt cat $HOME/photos/tree.txt echo " voici ce que ca donne avec IFS et for !:" ## pour le separateur IFS="\n" #************************************************** for rep in `find $HOME/photos/?* -type d`;do echo "il y a un repertoire:" $rep done et voila le résultat ce script va scanner les repertoires /home/david/photos/fdgdkio /home/david/photos/fdgdkio/fear /home/david/photos/nouvea udossier /home/david/photos/nouvea udossier/kl voici ce que ca donne avec IFS et for !: il y a un repertoire: /home/david/photos/fdgdkio /home/david/photos/fdgdkio/fear /home/david/photos/ il y a un repertoire: ouvea udossier /home/david/photos/ il y a un repertoire: ouvea udossier/kl et je comprends pas pourquoi ???????? sniff ....... Link to comment Share on other sites More sharing options...
gauret Posted December 22, 2004 Share Posted December 22, 2004 Regarde déjà si ton find te renvoie ce qu'il faut. Perso j'aurais pas fait comme ça, je vois pas pourquoi tu mets des ? et des * dans ton chemin de recherche. Link to comment Share on other sites More sharing options...
-lsl- Posted December 22, 2004 Author Share Posted December 22, 2004 tu t'y serais pris comment gauret ??? je suis preneur si tu as une tech qui marche !!!! ( car je dois faire des action identiques dans chaques dossier sous dossier , bien sur il faut que même les espaces dans les noms ne génent pas !!!!) ?* -type d = pour moi je disais a shell tu trouves tous les dossier qui ont au moins une lettre dans leur nom merci pour votre aide !!! ( ca se voit que je fais de la bio et pas de l'info lol !!!) Link to comment Share on other sites More sharing options...
gauret Posted December 22, 2004 Share Posted December 22, 2004 ?* -type d = pour moi je disais a shell tu trouves tous les dossier qui ont au moins une lettre dans leur nom Pourquoi faire ? Si c'est pour pas récupérer ~/photos un petit -mindepth 1 fera l'affaire. Et attention à ta definition de ta variable IFS, si tu utilises pas $'\n' il va ignorer l'antislash et considérer que le séparateur est la lettre "n". IFS=$'\n' for rep in `find $HOME/photos -type d -mindepth 1`;do echo "il y a un repertoire:" $rep done (non testé) Link to comment Share on other sites More sharing options...
theocrite Posted December 22, 2004 Share Posted December 22, 2004 tu t'y serais pris comment gauret ???Comme un gauret Désolé ça ne fait rire que moi. je suis preneur si tu as une tech qui marche !!!! [...] ?* -type d = pour moi je disais a shell tu trouves tous les dossier qui ont au moins une lettre dans leur nom Par contre j'ai testé ton truc sans le ?* [EDIT : et sans le IFS aussi] et ça fonctionne très bien avec les espaces.Et pourquoi tu veux un dossier qui aie au moins une lettre (ou un chiffre) ? Si il n'a pas au moins une lettre, il ne lui reste plus grand chose... EDIT : Ooups, trop rapide pour moi le gauret. Link to comment Share on other sites More sharing options...
-lsl- Posted December 23, 2004 Author Share Posted December 23, 2004 ça marche !!!!!!!!!!!! OH my GOD !!!!!!!!!! C'était avec mon IFS que cela foirait ( et c'est pour cela que je ne voyais plus le n !) ..;et quand au coup du mindepth 1 pour eviter les ~/photos ..... trop bon il est trés fort ce petit cochon Promis je ne mangerais plus jamais de cochon Link to comment Share on other sites More sharing options...
-lsl- Posted December 23, 2004 Author Share Posted December 23, 2004 LOL theocrite ..... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.