Lorsque le nombre de fichiers dans un répertoire dépasse les 30000, cela peut constituer un problème.
Voici les étapes à suivre pour mener à bien cette tâche:
1) Recherche tous les fichiers .txt dans le répertoire courant et ses sous-répertoires, puis écrit la liste complète de leurs chemins dans le fichier temporaire /tmp/fichiers_a_archiver.
find . -name '*.txt' -print > /tmp/fichiers_a_archiver
2) Crée une archive gzip (fichiers_a_archiver.tar.gz) contenant exactement les fichiers listés dans /tmp/fichiers_a_archiver.
L’option –files-from permet à tar de ne prendre que ces fichiers (très utile pour archiver sélectivement).
tar -cvzf fichiers_a_archiver.tar.gz --files-from /tmp/fichiers_a_archiver
3) Supprime tous les fichiers .txt trouvés (avec -v pour voir ce qui est supprimé).
find . -name '*.txt' | xargs rm -v