-lsl- Posté(e) le 22 décembre 2004 Partager Posté(e) le 22 décembre 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 ....... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 22 décembre 2004 Partager Posté(e) le 22 décembre 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
-lsl- Posté(e) le 22 décembre 2004 Auteur Partager Posté(e) le 22 décembre 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 !!!) Lien vers le commentaire Partager sur d’autres sites More sharing options...
gauret Posté(e) le 22 décembre 2004 Partager Posté(e) le 22 décembre 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é) Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 22 décembre 2004 Partager Posté(e) le 22 décembre 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
-lsl- Posté(e) le 23 décembre 2004 Auteur Partager Posté(e) le 23 décembre 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
-lsl- Posté(e) le 23 décembre 2004 Auteur Partager Posté(e) le 23 décembre 2004 LOL theocrite ..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.