GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :rechercher le nombre de fichiers dans un répertoire et des sous-répertoires

Parfois, nous voulons trouver le nombre de fichiers dans un répertoire sous Linux. Par exemple, trouver combien d'images sont présentes dans le répertoire de téléchargement de JournalDev WordPress.

Il existe différentes façons de le faire, examinons certains des scénarios courants et la meilleure commande pour trouver le nombre de fichiers dans un répertoire.

1. Trouver le nombre de fichiers dans un répertoire

Nous pouvons utiliser la commande ls avec la commande wc pour compter le nombre de fichiers dans un répertoire. Comptons le nombre de fichiers dans le répertoire racine de mon thème.

# 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

Si vous regardez l'image, les éléments de couleur bleue sont des répertoires. Ils sont également inclus en tant que fichier dans la sortie.

Et si nous voulons compter uniquement les fichiers et non les répertoires ?

# ls -p | grep -v / | wc -l
24
#
  1. La commande "ls -p" imprime les noms de répertoires avec "/" à la fin.
  2. La commande "grep -v /" filtre la sortie et imprime uniquement le nom qui ne contient pas "/", omettant ainsi tous les répertoires.
  3. Enfin, "wc -l" compte les lignes de la sortie et l'imprime.

De même, si vous voulez trouver le nombre de répertoires uniquement à l'intérieur d'un répertoire, utilisez la commande ci-dessous.

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

Remarque :Les commandes ci-dessus ne recherchent pas les fichiers cachés. Si vous souhaitez que le décompte inclue également les fichiers cachés, utilisez l'option "-a" avec la commande ls.

# ls -a1 | wc -l
41
#

Cette commande comptera "." et ".." aussi, vous devrez donc en tenir compte dans votre script shell si nécessaire.

2. Trouver le nombre de fichiers dans un répertoire et des sous-répertoires de manière récursive

Les exemples ci-dessus sont bons pour compter les fichiers et les répertoires dans un répertoire. Mais, si vous souhaitez également compter le nombre de fichiers, y compris les sous-répertoires, vous devrez utiliser la commande find.

# 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'option "-type f" de la commande de recherche est utilisée pour rechercher des fichiers normaux.
  2. Cette commande ignorera tous les répertoires, les fichiers "." et "..". Mais, il inclura les fichiers cachés dans la sortie.
  3. La commande "wc -l" comptera le nombre total de lignes et l'imprimera, nous donnant ainsi le nombre de fichiers.

Références :

  • Page de manuel de la commande wc
  • Rechercher la page de manuel de la commande


Linux
  1. Comment compter le nombre de fichiers et de sous-répertoires dans un répertoire donné

  2. Comment trouver les fichiers de configuration MySQL, PHP et Apache

  3. Renommer tous les fichiers et noms de répertoires en minuscules sous Linux

  4. Nombre maximum de fichiers/répertoires sous Linux ?

  5. Comment compter le nombre de fichiers dans chaque répertoire ?

Comment compter les fichiers dans le répertoire sous Linux

Comment rechercher et supprimer des fichiers en double sous Linux

3 façons de trouver des fichiers et des répertoires sous Linux

Trouvez facilement des fichiers et des répertoires sur Linux

Compter le nombre de fichiers dans un répertoire sous Linux

Comment compter le nombre de fichiers dans un répertoire sous Linux