Le risposte alle domande sul Mac

Come ottenere l’elenco dei file di una cartella e di tutte le sue sottocartelle?

Argomenti: Tips & tricksTerminaleUtility

Author: Marco Balestra

Un simile elenco può essere generato sia utilizzando programmi in GUI (interfaccia grafica) che in CLUI (riga di comando, nel Terminale).

Interfaccia Grafica

Scaricare BBEdit (commerciale, ma può essere usato gratuitamente a funzioni ridotte).

Lanciare il programma, e trascinare sulla finestra di un documento di testo la cartella di cui si desidera ottenere l’indice.

L’indice viene creato con tanto di indentazioni a tab per i livelli di nidificatione.

Riga di comando

Lanciare il Terminale, spostarsi nella directory interessata e scegliere uno dei seguenti comandi:

Solo le cartelle:

$ find . -type d | sed -e 1d -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|-/'

Sia le cartelle che i file:

$ find . | sed -e 1d -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|-/'

Il risultato sarà una cosa del tipo:

$ cd ~/Movies
$ find . -type d | sed -e 1d -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|-/'
 |--dvd
 |----docwho28
 |--Follie
 |--Sigle cartoni
 |--Spot
 |----apple ads
 |----birrasvizzera
 |----out
 |--Yo-Yo

Se ilcomando viene utilizzato spesso può essere conveniente crearne un alias.

Per bash ad esempio potremo definire un alias in ~/.bash_profile (o ~/.bash_rc su OS X più vecchi) con la seguente sintassi:

alias elenco="find . | sed -e 1d -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|-/'"

Powered by JBLOUD, © 2021 altersoftware.IT