GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:trova il numero di file in una directory e sottodirectory

A volte vogliamo trovare il numero di file in una directory in Linux. Ad esempio, trovare quante immagini sono presenti nella directory dei caricamenti di WordPress di JournalDev.

Esistono vari modi per farlo, esaminiamo alcuni degli scenari comuni e il miglior comando per trovare il numero di file in una directory.

1. Trova il numero di file in una directory

Possiamo usare il comando ls insieme al comando wc per contare il numero di file in una directory. Contiamo il numero di file nella mia directory principale del tema.

# ls
404.php    archive.php   functions.php  inc        layouts            phpcs.xml.dist     screenshot.png    single.php      webpack
LICENSE    comments.php  header.php     index.php  package-lock.json  postcss.config.js  search.php        src             woocommerce.css
Plugins    dist          home.php       js         package.json       readme.txt         sidebar-left.php  style.css
README.md  footer.php    images         languages  page.php           rtl.css            sidebar.php       template-parts
# ls -1 | wc -l
34

Se guardi l'immagine, gli elementi colorati in blu sono directory. Sono anche inclusi come file nell'output.

E se volessimo contare solo i file e non le directory?

# ls -p | grep -v / | wc -l
24
#
  1. Il comando "ls -p" stampa i nomi delle directory con "/" alla fine.
  2. Il comando “grep -v /” filtra l'output e stampa solo il nome che non contiene “/”, escludendo quindi tutte le directory.
  3. Infine, “wc -l” conta le righe nell'output e lo stampa.

Allo stesso modo, se vuoi trovare il numero di directory solo all'interno di una directory, usa il comando seguente.

# ls -p | grep / | wc -l
10
#

Nota:i comandi precedenti non cercano i file nascosti, se vuoi che il conteggio includa anche i file nascosti, usa l'opzione "-a" con il comando ls.

# ls -a1 | wc -l
41
#

Questo comando conterà "." e anche "..", quindi dovrai tenerne conto nello script della shell, se necessario.

2. Trova il numero di file in una directory e sottodirectory in modo ricorsivo

Gli esempi precedenti sono utili per contare file e directory in una directory. Ma, se vuoi contare il numero di file incluse anche le sottodirectory, dovrai usare il comando trova.

# find . -type f
./.test_file
./functions.php
./logger/class-logger-writter.php
./logger/class-logger-export.php
./logger/assets/js/base.js
./logger/assets/css/base.css
./logger/assets/css/base.less
./logger/assets/css/base.css.map
./logger/class-logger-reader.php
./class-protector.php
./class-anti-spam-plugin.php
# find . -type f | wc -l
11
#
  1. L'opzione "-type f" del comando trova viene utilizzata per cercare file normali.
  2. Questo comando ignorerà tutte le directory, i file "." e "..". Ma includerà i file nascosti nell'output.
  3. Il comando “wc -l” conteggerà il numero totale di righe e lo stamperà, fornendoci così il conteggio dei file.

Riferimenti:

  • Pagina man del comando wc
  • trova la pagina man dei comandi


Linux
  1. Come contare il numero di file e sottodirectory all'interno di una determinata directory

  2. Come trovare file di configurazione MySQL, PHP e Apache

  3. Rinomina tutti i file e i nomi delle directory in minuscolo in Linux

  4. Trova file e directory in Linux come un professionista

  5. Trova i file e le directory più grandi in Linux

Come contare i file nella directory in Linux

Come trovare ed eliminare file duplicati in Linux

3 modi per trovare file e directory in Linux

Trova facilmente file e directory su Linux

Conta il numero di file in una directory in Linux

Come contare il numero di file in una directory in Linux