#1 Le 20/08/2021, à 21:57
- philoeil
[RESOLU] test repertoire vide c'est quoi l'option -quit
Bonjour,
J'ai lu rapidement et je ne retrouve plus la page sur ce forum une commande pour tester un repertoire vide je m'étais dit que j'y reviendrai mais je ne trouve plus la page
il y avait une option -quit qui était jugé importante
pourquoi ?
je ne vois pas de différence avec ou sans.
#!/bin/bash
Dossier="./RepVide"
if [ -z "$(find "$Dossier" -type f ! -empty -print -quit)" ]
then
echo "Dossier vide de fichiers"
rmdir -v "$Dossier"
else
echo "Dossier non vide"
fi
Dernière modification par philoeil (Le 21/08/2021, à 20:32)
Hors ligne
#2 Le 21/08/2021, à 08:12
- kamaris
Re : [RESOLU] test repertoire vide c'est quoi l'option -quit
Il s'agit simplement d'une optimisation : comme on veut savoir si le répertoire contient au moins un fichier (non vide en l'occurrence), on s'arrête dès qu'on en a trouvé un, au lieu de continuer à chercher pour rien.
Hors ligne
#3 Le 21/08/2021, à 20:32
- philoeil
Re : [RESOLU] test repertoire vide c'est quoi l'option -quit
Bonjour,
Merci bien Kamaris pour l'info
Bonne soirée
Hors ligne
#4 Le 22/08/2021, à 10:57
- erresse
Re : [RESOLU] test repertoire vide c'est quoi l'option -quit
Bonjour,
Il y a un petit détail qui peut être gênant dans cette commande.
Si le répertoire contient au moins un sous-répertoire vide ou un fichier vide, alors le test renvoie "Dossier vide de fichiers".
Mais est-ce bien vrai ? Car après tout, même si le contenu est vide, le répertoire testé, lui, ne l'est pas...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#5 Le 22/08/2021, à 13:30
- MicP
Re : [RESOLU] test repertoire vide c'est quoi l'option -quit
Bonjour
#!/bin/bash Dossier="./RepVide" if [ -z "$(find "$Dossier" -type f ! -empty -print -quit)" ] then echo "Dossier vide de fichiers" rmdir -v "$Dossier" else echo "Dossier non vide" fi
S'il existe existe un ou plusieurs sous-répertoires dans le répertoire dont le nom a été assigné à la variable Dossier,
alors le script affichera quand même "Dossier vide de fichiers" et la commande rmdir -v "$Dossier" sera lancée.
S'il existe un ou plusieurs fichiers vides dans le répertoire dont le nom a été assigné à la variable Dossier,
alors le script affichera quand même "Dossier vide de fichiers" et la commande rmdir -v "$Dossier" sera lancée.
Si le nom de répertoire assigné à la variable Dossier n'existe pas,
alors le script affichera quand même "Dossier vide de fichiers" et la commande rmdir -v "$Dossier" sera lancée.
Dernière modification par MicP (Le 22/08/2021, à 13:32)
Hors ligne