54 votes

Comment lister les dossiers en utilisant les commandes bash ?

Existe-t-il un moyen de lister uniquement les dossiers d'un répertoire en utilisant des commandes bash ? ( comme le ls liste tous les fichiers et dossiers )

0voto

Diskilla Points 176

Juste pour souligner une chose qui m'a troublé ici, en ce qui concerne la sélection des modèles globaux ; disons que vous avez ceci :

$ cd /tmp
$ mkdir testglob
$ for ix in {00,01,02,03} ; do mkdir testglob/mydir_${ix} ; done
$ for ix in {00,01,02,03} ; do touch testglob/myfile_${ix} ; done
$ for ix in {00,01,02,03} ; do touch testglob/mydir_${ix}.txt ; done
$ for ix in {00,01,02,03} ; do mkdir testglob/otherdir_${ix} ; done
$ tree testglob/
testglob/
 mydir_00
 mydir_00.txt
 mydir_01
 mydir_01.txt
 mydir_02
 mydir_02.txt
 mydir_03
 mydir_03.txt
 myfile_00
 myfile_01
 myfile_02
 myfile_03
 otherdir_00
 otherdir_01
 otherdir_02
 otherdir_03

8 directories, 8 files

Donc, disons ici que vous voulez sélectionner seulement mydir* . Notez que si vous omettez la barre oblique terminale, ls -d listera également les fichiers :

$ ls -d testglob/mydir*   # also `ls -d -- testglob/mydir*`
testglob/mydir_00      testglob/mydir_01      testglob/mydir_02      testglob/mydir_03
testglob/mydir_00.txt  testglob/mydir_01.txt  testglob/mydir_02.txt  testglob/mydir_03.txt

... mais avec une barre oblique terminale, alors seuls les répertoires sont listés :

$ ls -d testglob/mydir*/   # also `ls -d -- testglob/mydir*/`
testglob/mydir_00/  testglob/mydir_01/  testglob/mydir_02/  testglob/mydir_03/

0voto

printf "%s\n" */ listera tous les répertoires dans le $PWD.

echo */ fonctionnera également, mais sur une longue ligne, ce qui est plus difficile lorsque les noms comportent des espaces.

0voto

Red Tux Points 2074

Vous pouvez également utiliser :

du

Ou :

git ls-tree -d -r --name-only @

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X