Comment trouver et supprimer tous les fichiers vides à l’aide de la ligne de commande shell
Dans cette configuration, vous allez apprendre à trouver tous les fichiers vides dans un répertoire donné à l’aide de la commande find. Voici notre répertoire sandbox /tmp/temp contenant des fichiers dont certains sont vides :
.
├── dir1
│ ├── dir2
│ │ ├── file3
│ │ └── file4
│ ├── file2
│ └── file3
├── file1
└── file2
2 directories, 6 files
Localisons d’abord tous les fichiers vides de manière récursive à partir d’un répertoire de travail actuel à l’aide de la commande find :
pwd
/tmp/temp
find . -type f -empty
OR
find /tmp/temp -type f -empty
./dir1/dir2/file4
./dir1/file3
./file2
La commande linux suivante recherchera tous les fichiers vides uniquement dans un répertoire de travail actuel, c’est-à-dire non récursivement :
find . -maxdepth 1 -type f -empty
./file2
Pour supprimer tous les fichiers vides, nous combinerons la commande find avec son option exec. La commande linux suivante supprimera tous les fichiers vides trouvés de manière récursive :
find . -type f -empty -exec rm "{}" \;
OR
find /tmp/temp -type f -empty -exec rm "{}" \;
tree
.
├── dir1
│ ├── dir2
│ │ └── file3
│ └── file2
└── file1
2 directories, 3 files