Quatre façons d'y parvenir, chacune avec un format de sortie différent
1. Utilisation de echo
Exemple : echo */
, echo */*/
Voici ce que j'ai obtenu :
cs/ draft/ files/ hacks/ masters/ static/
cs/code/ files/images/ static/images/ static/stylesheets/
2. Utilisation de ls
seulement
Exemple : ls -d */
Voici exactement ce que j'ai obtenu :
cs/ files/ masters/
draft/ hacks/ static/
Ou sous forme de liste (avec des informations détaillées) : ls -dl */
3. Utilisation de ls
y grep
Exemple : ls -l | grep "^d"
Voici ce que j'ai obtenu :
drwxr-xr-x 24 h staff 816 Jun 8 10:55 cs
drwxr-xr-x 6 h staff 204 Jun 8 10:55 draft
drwxr-xr-x 9 h staff 306 Jun 8 10:55 files
drwxr-xr-x 2 h staff 68 Jun 9 13:19 hacks
drwxr-xr-x 6 h staff 204 Jun 8 10:55 masters
drwxr-xr-x 4 h staff 136 Jun 8 10:55 static
4. Bash script (Non recommandé pour les noms de fichiers contenant des espaces)
Exemple : for i in $(ls -d */); do echo ${i%%/}; done
Voici ce que j'ai obtenu :
cs
draft
files
hacks
masters
static
Si vous voulez avoir '/' comme caractère de fin, la commande sera : for i in $(ls -d */); do echo ${i}; done
cs/
draft/
files/
hacks/
masters/
static/
8 votes
Voir l'édition de cette réponse unix.stackexchange.com/a/75047/32647 expliquant ce que
-d
signifie en fait.