Supprimer tous les dossiers contenant 2 fichiers ou moins?

Supprimer tous les dossiers contenant 2 fichiers ou moins? - Shell/Batch - Programmation

Marsh Posté le 06-08-2011 à 22:04:59    

Salut!
 
Je cherche à lister dans un fichier tous les dossiers et sous dossiers contenant deux fichiers ou moins et a les supprimer
 
Je retourne le probleme dans ma tete mais ne trouve pas de solution...
 
Je me dit peut etre a base de "find ./ -type d" avec quelque autre option mais je trouve pas trop d'option possible pour faire ca avec le "n" de find...
(Ou alors récupérer comme ca ma liste de dossiers, de là pour chaqun lister, compter les lignes (wc -l) a chaque fois et heu...)
 
Quelqu'un-e aurait une piste sur la maniere de proceder?
 
Merci!  :jap:


Message édité par aliero le 08-08-2011 à 23:04:34
Reply

Marsh Posté le 06-08-2011 à 22:04:59   

Reply

Marsh Posté le 08-08-2011 à 23:05:06    

Pas forcement le plus propre / simple, mais si ca peut aider quelqun..
 
J'ai fait un petit script bash comme ca:
 
LIGNES=$(find ./ -type d)
for LIGNE in $LIGNES
do
COMPTE=$(ls "$LIGNE" | wc -l)
        if [ $COMPTE -eq 1 ] ; then
rm -rf "$LIGNE"
echo "$LIGNE - supprime - $COMPTE fichiers"
else
                if [ $COMPTE -eq 2 ] ; then
rm -rf "$LIGNE"
else
 
echo "$LIGNE pas supprimee - $COMPTE fichiers"
                fi
        fi
done

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed