Affichage des repertoires seulement

Résolu
artagon7 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   -  
 dennys -
Bonjour,

Je veux afficher seulement les repertoires contenus dans un repertoire donne. J'ai lu le man de ls et ce que j'ai trouve c'est l'option -d mais ca ne fonctionne pas. Comment fait-on pour afficher uniquement les repertoires (de facon recursive)?

Merci
A voir également:

9 réponses

medem Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   9
 
Salut !
Tu peux egalement utiliser "ls -d */"
ls -d : pour lui dire qu'il ne descend pas dans les sous répertoires
*/: pour lui dire qu'il affiche tous ceux qui se terminent par "/" qui sont uniquement les repertoires
+
12
artagon7 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   7
 
C'est noté. Merci.
0
dennys
 
Merci. Utile et complet
0
marc[i1] Messages postés 2573 Date d'inscription   Statut Contributeur Dernière intervention   382
 
peros je préfère tree pour ça.

tree -d repertoire/

4
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
ls -lR | grep ^d 
ou
find . -type d -exec ls -ld {} \;   
--
106485010510997108
3
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Ou
ls -R | grep  '/$'
;-))
0
artagon7 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   7
 
J'ai essaye vos trois commandes et c'est seulement la commande du "perlien" a lami20j qui a fonctionne, soit ls -lR | grep ^d.

Dans le cas de la commande proposee par jipicy ( ls -R | grep '/$' ), elle n'affiche rien tandis que la commande de marc[i1] ne fonctionne pas puisqu'il n'y a pas de commande tree dans mon shell!!! (j'ai verifie avec man). Dans le cas des deux dernieres commandes, ca depend sans doute de la distribution que l'on a.

Merci a vous trois, :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
La commande "tree" n'est pas installée par défaut, c'est pour ça que je ne l'ai pas proposée. Par contre je l'installe systématiquement sur mes systèmes... et le martien aussi apparemment ;-)

Quand à la commande "ls -R | grep '/$'", effectivement ça dépend des distributions et de la configuration de "ls" (alias pour être précis de la forme "alias ls='ls -F --color=auto'" pour Mandriva par exemple), donc il suffit de l'écrire avec un air patriotique pour qu'elle ait l'effet désirée :
ls -FR | grep '/$'
;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
;-))
0
marc[i1] Messages postés 2573 Date d'inscription   Statut Contributeur Dernière intervention   382
 
« La commande "tree" n'est pas installée par défaut, c'est pour ça que je ne l'ai pas proposée. Par contre je l'installe systématiquement sur mes systèmes... et le martien aussi apparemment ;-) »

hihi ^^
0
artagon7 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   7
 
Bonjour,

Oui, effectivement la commande ls -FR | grep '/$' fonctionne. Mais finalement ca ne donne pas, comme l'autre commande, un resultat tres pratique. Par exemple, j'ai le repertoire /Informatique :

/Informatique

../Linux
...../Fichiers_systemes
...../Pages_man

../Programmation
...../Langage_C
...../Scripts_bash

../Test
...../Test_1
...../Test_2
...../Test_3
...../Test_4



Si je fais la commande ls -FR | grep '/$' ca me donne :

$ ls -FR | grep '/$'
Linux/
Programmation/
Test/
Fichiers_systemes/
Pages_man/
Langage_C/
Scripts_bash/
Test_1/
Test_2/
Test_3/
Test_4/


Dans le cas present je peux quand meme m'y retrouver. Mais dans le cas ou je prends un repertoire plus important, je risque de ne plus m'y retrouver. Dans ce cas, est-il possible d'obtenir quelque chose qui ressemble a :

/Informatique

../Linux
...../Fichiers_systemes
...../Pages_man

../Programmation
...../Langage_C
... etc ...

Je crois que la commande de marc[i1] serait plus appropriee, en tout cas, c'est-ce que laisse sous-entendre le nom de la commande. Si la commande tree donne le resultat que je veux, j'aimerais l'installer. Comment fait-on pour installer tree?

Merci,
0
bayrouni
 
Il y a de plus simple et c'est le job de ls justement.
ls -d *
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Au moins tu as essayé?!
L'option -d n'a pas le rôle d'afficher que les répetoires mais
-d, --directory
afficher les noms de répertoires plutôt que leur contenu et ne pas déréférencer les liens symboliques



lami20j@debian-acer:~/div$ ls -l 
total 4 
drwxr-xr-x 2 lami20j lami20j 4096 30 nov.  17:09 aaa 
-rw-r--r-- 1 lami20j lami20j    0 30 nov.  17:09 toto.txt 
lami20j@debian-acer:~/div$ ls -d * 
aaa  toto.txt 
lami20j@debian-acer:~/div$ ls -d */ 
aaa/



L'option -d n'a pas le rôle d'afficher seulement les répertoires mais (man ls)
-d, --directory
afficher les noms de répertoires plutôt que leur contenu et ne pas déréférencer les liens symboliques

Voici ce qui se passe quand j'utilise -d avec -R
lami20j@debian-acer:~/div$ ls -lRd * 
drwxr-xr-x 2 lami20j lami20j 4096 30 nov.  17:11 aaa 
-rw-r--r-- 1 lami20j lami20j    0 30 nov.  17:09 toto.txt 
lami20j@debian-acer:~/div$ ls -lR * 
-rw-r--r-- 1 lami20j lami20j    0 30 nov.  17:09 toto.txt 

aaa: 
total 0 
-rw-r--r-- 1 lami20j lami20j 0 30 nov.  17:11 zzz.png 
lami20j@debian-acer:~/div$ 

ou
lami20j@debian-acer:~/div$ ls -l aaa 
total 0 
-rw-r--r-- 1 lami20j lami20j 0 30 nov.  17:11 zzz.png 
lami20j@debian-acer:~/div$ ls -ld aaa 
drwxr-xr-x 2 lami20j lami20j 4096 30 nov.  17:11 aaa 
lami20j@debian-acer:~/div$ 
0
algerien
 
il y a plus simple ! que les repertoires qui contient des fichiers '.' donc
echo /*/.
0
bayrouni
 
Oui en effet.
L'option --directory est plus subtil que je ne le croyais.

Merci pour cette précision.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

comme quoi, depuis le début tu devras nous dire ce que tu veux obtenir comme affichage ;-)
en ce cas, effectivement la commande donnée par marc[i1] est la solution

si je n'ai pas oublié tu es sous ubuntu
sudo aptitude install tree
-1
artagon7 Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   7
 
Oui, lami20j j'aurais du preciser avant. Je retiens la lecon. La commande tree donne bien ce que je voulais.

Merci et salutations, :-)
0