GNU/Linux >> Linux Esercitazione >  >> Linux

Conteggio dei file in ciascuna sottodirectory

Supponendo che tu voglia solo un conteggio ricorsivo di file, non directory e altri tipi, qualcosa del genere dovrebbe funzionare:

find . -maxdepth 1 -mindepth 1 -type d | while read dir; do
  printf "%-25.25s : " "$dir"
  find "$dir" -type f | wc -l
done

Questo compito mi ha affascinato così tanto che volevo trovare una soluzione da solo. Non ci vuole nemmeno un ciclo di tempo e MAY essere più veloce nella velocità di esecuzione. Inutile dire che gli sforzi di Thor mi hanno aiutato molto a capire le cose in dettaglio.

Quindi ecco il mio:

find . -maxdepth 1 -mindepth 1 -type d -exec sh -c 'echo "{} : $(find "{}" -type f | wc -l)" file\(s\)' \;

Sembra modesto per un motivo, perché è molto più potente di quanto sembri. :-)

Tuttavia, se intendi includerlo nel tuo .bash_aliases file, deve assomigliare a questo:

alias somealias='find . -maxdepth 1 -mindepth 1 -type d -exec sh -c '\''echo "{} : $(find "{}" -type f | wc -l)" file\(s\)'\'' \;'

Nota la gestione molto complicata dei singoli nidificati citazioni. E no, non lo è possibile utilizzare le virgolette doppie per il sh -c argomento.


find . -type f | cut -d"/" -f2 | uniq -c

Elenca cartelle e file nella cartella corrente con un conteggio dei file trovati sotto. IMO veloce e utile. (i file vengono visualizzati con conteggio 1).


Linux
  1. Trova gli ultimi file?

  2. Elencare il numero di file in ogni cartella in cui il nome della cartella corrisponde a un modello?

  3. Comandi di ricerca di Linux

  4. bash trova le directory

  5. Come contare il numero di file in ogni directory?

Come trovare file in Linux

Trova file di grandi dimensioni in Linux

Come contare i file nella directory in Linux

Come contare il numero di file e sottodirectory all'interno di una directory

Come trovare file in Debian

Come contare il numero totale di righe di file trovati?