Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
nettoyage des repertoires...
Envoyé par: pacof56

Utilisateur de Quod libet, je l'utilise de classer ma musique.
or il ne fais pas le ménage derrière lui.

je cherche a effacer des répertoires de moins de 500 k.

j'ai glanné ca

du -sk * | sort -rn | sed -e 's=.*\t\(.*\)=\"\1\"=' | xargs du -sh

qui m'affiche mes répertoire du plus volumineux au plus légé, attention toutefois une liens donnent de faux résultats.

2,3G isos
1,3G Vidéos
76K Documents
12K Bureau
4,0K Public
4,0K Modèles
4,0K examples.desktop
0 Musique

d'autres pistes ?

Poste le Tuesday 3 November 2009 16:03:28
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: nicola

Ceci convient ?

#!/bin/bash

if [ -z "$1" ]
then
	du -s `find ~ -maxdepth 1 -type d`
else
	du -s $(find "$1" -maxdepth 1 -type d)
fi

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Tuesday 3 November 2009 16:53:45
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: pacof56

A priori non;

la solution doit être récursive inversé .

les répertoires vides ou contenant des répertoires contenant eu même moins de 500k
doivent être supprimer, les autres non

désole de ne pas être très clair

|-- T.Rex (je laisse)
| `-- Electric_Warrior 10 Mo (je laisse)
|-- Tears_For_Fears (j'efface)
| |-- Closest_Thing_To_Heaven 20 k (j'efface)
| `-- Everybody_Loves_A_Happy_Ending 20k (j'efface)
|-- The_Byrds (je laisse)
| `-- Fifth_Dimension 30 MO (je laisse)
|-- The_White_Stripes (je laisse)
| |-- Elephant 2MO (je laisse)
| `-- Get_Behind_Satan 40k (j'efface)

Poste le Friday 13 November 2009 12:36:14
Répondre     Citer    
Re: nettoyage des répertoires...
Envoyé par: nicola

Efface plutôt les fichiers qui ne sont pas de la musique.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Friday 13 November 2009 20:08:06
Répondre     Citer    
Re: nettoyage des répertoires...
Envoyé par: NBaH

pourquoi find ne pourrait-il pas le faire ?
peut-être en deux instances :
find -type f -size -500k -delete
find -type d -size 4096 --exec rm -r {} \;
...
?

Poste le Saturday 14 November 2009 15:26:52
Répondre     Citer    
Re: nettoyage des répertoires...
Envoyé par: nicola

Pour les répertoires, c’est rmdir, pas rm.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Monday 16 November 2009 19:22:44
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: pacof56

pour les fichiers qui trainent

find -type f -size -20k -delete

fait le exactement le job.

mais

find -type d -size 4096 --exec rm -r {} \;

est innoperant.

la solution est proche...

Poste le Monday 16 November 2009 22:58:49
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: NBaH

Heureusement, car c'est une erreur (dsl) : tous les répertoires font 4096 octets, même s'ils contiennent des fichiers de taille non nulle.

et comme l'a dit Nicola, on peut utiliser rmdir vu que les répertoires sont réputés être vides :
find $chemin -type d -empty --exec rmdir {} \;

Poste le Monday 16 November 2009 23:27:44
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: NBaH

s/--exec/-exec/

Poste le Tuesday 17 November 2009 02:09:35
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: pacof56

merci

une soluce ./nettoie.sh Musique

#-----------------------------------------------------
#!/bin/bash


cd $1
find -type f -size -20k -delete

chemin=`pwd`
echo $chemin
cd
find $chemin/ -type d -empty -exec rmdir {} \;

echo $?
#-------------------------------------------------------

dangereux mais efficace, on relancera le script jusqu'a ce que
l'on ai 0 en valeur de retour.

Poste le Tuesday 17 November 2009 11:10:27
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: NBaH

#!/bin/bash

chemin=$1
find $chemin -type f -size -20k -delete -o -type d -empty -exec rmdir {} \; 
...
?

Poste le Tuesday 17 November 2009 15:44:22
Répondre     Citer    
Re: nettoyage des repertoires...
Envoyé par: pacof56

Nickel

Poste le Tuesday 17 November 2009 16:16:14
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
nettoyage des repertoires...
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons