Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

commande ls

5 réponses
Avatar
nicolas_laurent545
Bonjour
Comment faire pour afficher les repertoires et sous-repertoires dans
unix ?
rep
sousrep1
sousrep2
sousrep3

La commande ls affiche le contenu au complet avec -R, je n'ai rien
trouve pour afficher simplement le nom des repertoires et
sous-repertoires

Merci

5 réponses

Avatar
Pascal Bourguignon
writes:

Bonjour
Comment faire pour afficher les repertoires et sous-repertoires dans
unix ?
rep
sousrep1
sousrep2
sousrep3

La commande ls affiche le contenu au complet avec -R, je n'ai rien
trouve pour afficher simplement le nom des repertoires et
sous-repertoires


ls -d */. */*/.

find . -mindepth 1 -maxdepth 2 -type d -print

--
__Pascal Bourguignon__ http://www.informatimago.com/

The world will now reboot. don't bother saving your artefacts.

Avatar
Sébastien Monbrun aka TiChou
Dans le message
<news:,
** tapota sur f.c.o.unix :

Bonsoir,

Comment faire pour afficher les repertoires et sous-repertoires dans
unix ?
rep
sousrep1
sousrep2
sousrep3


Sur certains unix, la commande 'tree' associée à son option '-d' permet
cela.

--
Sébastien Monbrun aka TiChou

Avatar
Matthieu Moy
Pascal Bourguignon writes:

find . -mindepth 1 -maxdepth 2 -type d -print


Ou simplement « find . -type d », qui fait en général à peu près ce
qu'il faut.

--
Matthieu

Avatar
Hugues
Matthieu Moy wrote:
Pascal Bourguignon writes:

find . -mindepth 1 -maxdepth 2 -type d -print


Ou simplement « find . -type d », qui fait en général à peu pr ès ce
qu'il faut.


Ou encore, avec zsh :

$ setopt glob
$ ls -d **/*(/)

Qui permet de se passer de find en incorporant le "**/*(/)" dans
n'importe quelle commande shell, par contre bonjour la portabilité et
bonjour en cas de nombre de sous dossiers trop grand ;-)


Avatar
Stephane Chazelas
2006-11-3, 04:40(-08), Hugues:

Matthieu Moy wrote:
Pascal Bourguignon writes:

find . -mindepth 1 -maxdepth 2 -type d -print


Ou simplement « find . -type d », qui fait en général à peu près ce
qu'il faut.


Ou encore, avec zsh :

$ setopt glob
$ ls -d **/*(/)

Qui permet de se passer de find en incorporant le "**/*(/)" dans
n'importe quelle commande shell, par contre bonjour la portabilité


Ca marchera avec toutes les versions de zsh au moins depuis la
version 3. Par contre, c'est vrai que "zsh" n'est pas une
commande standard.

Les -mindepth et -maxdepth ne sont pas standard, par contre
(donc ne marcheras qu'avec les versions de zsh sur les systemes
ou un BSD-recent ou GNU find est installé)

et bonjour en cas de nombre de sous dossiers trop grand ;-)


Dans ce cas, ou peut utiliser soit une commande builtin:

print -rl -- **/*(/)

Soit utiliser zargs

zargs **/*(/) -- ls -d

(faire un autoload zargs si pas deja dans le ~/.zshrc).


--
Stéphane