PDA

Visualizza Versione Completa : Contare le cartelle



Hartz
23-10-06, 18:50
Saluti a tutti!

Vorrei sapere se con il Terminale c'è un comando che dà la possibilità di contare quante sotto-cartelle ci siano dentro una determinata cartella.

So che con il comando ls -l mi compare l'elenco del contenuto di una cartella: ogni voce dell'elenco è preceduta da una d nel caso di una directory o da un - nel caso di un file…
Ma se in una cartella ci sono parecchie decine di sotto cartelle e di file è possibile evitare di contarle a mano?

Grazie!


H

Flow
23-10-06, 19:06
Domanda decisamente impegnativa (alla quale non sò rispondere) ma di estremo interesse dato che sarebbe interessante conoscerne la risoluzione.

Il fatto che il grande Hartz (e lo prego di credermi quando lo chiamo "grande" perché tale lo ritengo) ricorra agli amici del forum per un qualcosa che non conosce mi fa sentire un tantino meno idiota (in termini informatici). :oops:


A questo punto la curiosità di conoscere il nick di colui (o colei) che potrebbe rivolvere la cosa mi sta divorando. :lol:

Mad
23-10-06, 19:48
ciao orso


da terminale usa questo

ls | wc -l


;)


vado a memoria dovrebbe funzionare

la barra è la pipe se non si capisce :)

Hartz
23-10-06, 19:57
da terminale usa questo

ls | wc -l


Ti ringrazio Mad ma… ehm… non funziona perché wc sta per word count e dato che io gli sottopongo una cartella, il Terminale mi risponde correttamente che "… is a directory"… :?


:)

Mad
23-10-06, 20:02
orso ho appena provato e a me funziona il comando va lanciato quando sei dentro la cartella dove vuoi contare

ti incollo il risultato del mio terminale appena fatto:

ibook-g4-di-mad:~/Documents Mad$ ls | wc -l
28


mi ha contato sia i file sia le sottocartelle

Hartz
23-10-06, 20:08
orso ho appena provato e a me funziona il comando va lanciato quando sei dentro la cartella dove vuoi contare

ti incollo il risultato del mio terminale appena fatto:

ibook-g4-di-mad:~/Documents Mad$ ls | wc -l
28

Con cd mi sono trasferito dentro la cartella e poi gli ho dato ls | wc -l e lui mi ritorna 4… che è il numero complessivo di elementi (file + cartelle), mentre all'interno c'è una sola cartella… :roll:

Grazie comunque!


H

Mad
23-10-06, 20:13
non so se conta anche i files nascosti, ho fatto alcune prove e mi ha contato sempre in modo corretto ( ho controllato col finder)

mi spiace orso, non mi viene in mente altro


:)

Hartz
23-10-06, 20:17
non so se conta anche i files nascosti, ho fatto alcune prove e mi ha contato sempre in modo corretto ( ho controllato col finder)

mi spiace orso, non mi viene in mente altro


:)

Dici che ti ha contato in modo corretto… e anche a me, però conta tutto e io volevo che mi contasse solo le cartelle…

P.S. Nella cartella non ci sono file nascosti: solo tre file e una cartella.

Grazie comunque e buona serata!


H

TheCube
23-10-06, 21:49
Ciao Orso,
prova con
ls -la | grep drw | wc -l, magari funziona 8)

Hartz
23-10-06, 21:56
Ciao Orso,
prova con
ls -la | grep drw | wc -l, magari funziona 8)

Perché magari funziona? Funziona davvero!!
Nella mia cartella con 4 elementi (3 file + 1 cartella) mi ritorna 3, il che significa che conta i file invece delle cartelle…
Poco male: per differenza con il numero totale degli elementi ottengo il numero delle cartelle… :)

Grazie mille TheCube!


:ciao-smile:

TheCube
23-10-06, 21:59
Grazie mille TheCube!


:ciao-smile:
De nada... When the going gets though, the thoughs get going



PS l'avevo testato prima della pubblicazione, ma non si mai cosa si annida nelle directory del Mac-Orso :lol:

Hartz
23-10-06, 22:05
De nada... When the going gets tough, the toughs get going 8)

Se hai ancora un attimo…

Dopo la funzione di ricerca grep mi hai scritto drw: hai idea di che cosa significhino queste tre lettere?
Ho provato a tenere solo la d nella speranza che indicasse "directory" ma su una cartella con 9 sottocartelle e 2 file mi ha restituito 13… :???:


Grazie!


H

TheCube
23-10-06, 22:17
De nada... When the going gets tough, the toughs get going 8)

Se hai ancora un attimo…

Dopo la funzione di ricerca grep mi hai scritto drw: hai idea di che cosa significhino queste tre lettere?
Ho provato a tenere solo la d nella speranza che indicasse "directory" ma su una cartella con 9 sottocartelle e 2 file mi ha restituito 13… :???:


Grazie!


H
"drw" sono i permessi standard per una directory, ovvero "d"=directory e "rw"=in "lettura/scrittura" per l'owner (proprietario/creatore) della directory...Qualsiasi directory DEVE avere questa "tripletta", ecco perchè funziona il comando!

Hartz
23-10-06, 22:19
"drw" sono i permessi standard per una directory, ovvero "d"=directory e "rw"=in "lettura/scrittura" per l'owner (proprietario/creatore) della directory...

:oops: Avrei dovuto arrivarci da solo… :arrossisco:


Grazie infinite!


H

Hartz
24-10-06, 22:05
Grazie alla spintarella di TheCube e ad altri tentativi sono arrivato ad una soluzione più sintetica… :)

Per contare le cartelle totali contenute in una cartella basta digitare sul Terminale ls -l | grep -c "dr"


:ciao-smile:

TheCube
24-10-06, 22:33
Grazie alla spintarella di TheCube e ad altri tentativi sono arrivato ad una soluzione più sintetica… :)

Per contare le cartelle totali contenute in una cartella basta digitare sul Terminale ls -l | grep -c "dr"


:ciao-smile:
Per la serie "l'appetito vien mangiando"...
Oh, io ho assemblato una soluzione al volo, tu l'hai perfezionata! Che forza, Mac Peer!!!!