#1 Le 14/05/2010, à 23:00
- freeisland2
[résolu] lister les dossiers sans les fichiers !
Bonjour à tous,
j'ai parcouru le forum et un peu Google à la recherche d'une commande ou d'un script pour lister les dossiers et sous-dossiers d'un répertoire mais sans la liste des fichiers inclus !
Juste les dossiers et sous dossiers.
Mon exemple :
je veux la liste (fichier texte) de mon répertoire Musique, des artistes et des albums mais pas les titres des chansons.
Bien sur j'ai testé ls, ls -R et ses dérivés mais je n'obtiens pas ce que je souhaite.
Une idée ?
merci d'avance
Dernière modification par freeisland2 (Le 16/05/2010, à 13:42)
Hors ligne
#2 Le 14/05/2010, à 23:03
- helly
Re : [résolu] lister les dossiers sans les fichiers !
find Musique -type d
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#3 Le 14/05/2010, à 23:13
- alej
Re : [résolu] lister les dossiers sans les fichiers !
$ sudo apt-get install tree
$ tree -d
$ tree -df
$ tree -dfi
etc. Et...
$ man tree
... bien sûr
Hors ligne
#4 Le 14/05/2010, à 23:16
- Saito
Re : [résolu] lister les dossiers sans les fichiers !
Salut,
<promo zsh>
en utilisant les glob zsh :
print -l **/*(/D)
cf. man zshexpn :
**/* est la recherche récursive
/ pour afficher uniquement les répertoires
D pour afficher les fichiers cachés (je l'ai ajouté pour reproduire le comportement du find)
</promo zsh>
Sinon sur un GNU/Linux sans zsh, helly a raison, GNU find sera le meilleur choix.
Dernière modification par Saito (Le 14/05/2010, à 23:18)
Aku-Soku-Zan_Shinsengumi
Hors ligne
#5 Le 16/05/2010, à 03:11
- freeisland2
Re : [résolu] lister les dossiers sans les fichiers !
find Musique -type d
ok pour find !
je me suis plutôt placé avant dans mon répertoire avec "cd", puis "find -type d" : la liste des dossiers n'inclue du coup pas le chemin et c'est ce que je cherche.
J'ai même rajouté "> listedossiers.txt" pour avoir le fichier directement dans mon répertoire.
Je résume :
cd "mon répertoire"
find -type d >listedossiers.txt
merci !
Dernière modification par freeisland2 (Le 16/05/2010, à 03:11)
Hors ligne
#6 Le 16/05/2010, à 08:29
- helly
Re : [résolu] lister les dossiers sans les fichiers !
Pense au [résolu]
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#7 Le 16/05/2010, à 08:45
- Zakhar
Re : [résolu] lister les dossiers sans les fichiers !
J'ai cherché un peu le même truc, mais en non récursif.
J'ai trouvé tout simplement le très élégant :
ls -d */
Dernière modification par Zakhar (Le 16/05/2010, à 08:47)
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#8 Le 16/05/2010, à 08:46
- nesthib
Re : [résolu] lister les dossiers sans les fichiers !
plutôt que de faire un cd puis de lancer la commande, tu peux faire ainsi :
find "ton_repertoire" -type d -printf "%f\n"
au lieu de "%f\n" tu peux aussi essayer la commande d'affichage : "%P\n"
bref, il y a moyen de faire des trucs poussés ! lis la page de man :
man find
ps. j'ai déplacé ton fil dans "Console et terminal", le forum Trucs & Astuce n'est pas fait pour demander de l'aide
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#9 Le 21/05/2010, à 14:53
- cracolinux
Re : [résolu] lister les dossiers sans les fichiers !
J'ai cherché un peu le même truc, mais en non récursif.
J'ai trouvé tout simplement le très élégant :
ls -d */
Merci Zakhar,
juste je me demandais : pourquoi est ce que ls -d ne fait pas le même travail ?
Je comprend */ (enfin je crois) mais je ne vois vraiment pas pourquoi ls -d à lui seul ne liste pas les dossiers du répertoire en cours ?
Dernière modification par cracolinux (Le 21/05/2010, à 14:55)
Hors ligne
#10 Le 21/05/2010, à 14:57
- helly
Re : [résolu] lister les dossiers sans les fichiers !
@cracolinux
man ls
deplus dans cet exemple le «-d» ne sert à rien ,
ls */
fait le même boulot
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#11 Le 21/05/2010, à 15:42
- cracolinux
Re : [résolu] lister les dossiers sans les fichiers !
Ah, ben tiens pas chez moi en tout cas.
PS : (t'es pas (plus) folle toi ?)
Hors ligne
#12 Le 21/05/2010, à 15:48
- helly
Re : [résolu] lister les dossiers sans les fichiers !
Non j'ai changé cette ligne suite à mon ras-le-bol que tout le monde dise «Linux»
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#13 Le 21/05/2010, à 16:25
- cracolinux
Re : [résolu] lister les dossiers sans les fichiers !
Hors ligne
#14 Le 21/05/2010, à 18:22
- Elzen
Re : [résolu] lister les dossiers sans les fichiers !
ls */
fait le même boulot
Teste avant de parler
L'option -d sert à indiquer à ls de ne pas entrer dans le répertoire, mais juste d'afficher son nom comme s'il s'agissait d'un fichier ordinaire. Par ailleurs, ls lancé avec des noms de fichiers passés en arguments va afficher tous ces fichiers, mais sans l'option -d, le contenu des répertoires sera listé.
Si par exemple le répertoire courant contient trois fichiers ordinaires, greuh.txt, greuh.odt et greuh.pdf, ainsi que deux sous-répertoires gnap/ et gwah/, alors demander ls * sera équivalent à demander ls greuh.txt greuh.odt greuh.pdf gnap/ gwah/, puisque le shell remplace * par l'ensemble des fichiers du répertoire courant. Dans ce cas, les répertoires gnap/ et gwah/ seront donc listés.
Avec la commande ls */, le résultat est le même, sauf que le shell se limite aux fichiers se terminant par un /, c'est-à-dire les répertoires. Et donc ls */ listera le contenu des répertoires, sauf si on lui passe l'option -d qui indique de ne pas le faire. C'est donc bien ici ls -d */ qui correspond, et non pas ls */.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#15 Le 21/05/2010, à 21:39
- johndo
Re : [résolu] lister les dossiers sans les fichiers !
Bonsoir,
Autre solution... full shell, sans utilisation d'outils externes ...
printf "%s\n" */
Hors ligne
#16 Le 21/05/2010, à 22:01
- cracolinux
Re : [résolu] lister les dossiers sans les fichiers !
la classe!
Hors ligne