Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/12/2009, à 07:26

inconnu

Supprimer des fichiers vides récursivement

Bonjour à tous

Je n'arrive pas à créer un script pour supprimer récursivement tout les fichiers dont la taille est de 0bytes à particine d'une racine prédéfinie

par exemple :

racine="/home/user/Bureau/Test"

j'ai essayé

fichiers='ls -aR1B'

et d'utiliser une boucle for fichier in $fichiers

mais ça ne marche pas.

Je peine à croire qu'il n'y a que le python qui puisse faire ça dans les langages dans lequel je me débrouille assez pour faire ça, mais j'aimerai pouvoir le faire en bash.

#2 Le 03/12/2009, à 07:36

®om

Re : Supprimer des fichiers vides récursivement

find RACINE -size 0c -delete

Hors ligne

#3 Le 03/12/2009, à 11:46

inconnu

Re : Supprimer des fichiers vides récursivement

Merci en fait c'était find $racine -size 0c -delete

le bémol c'est que mon path réel contenait des espaces dont j'ai renommé le dossier.

Ensuite j'ai plusieurs erreurs : find: impossible de supprimer "/media/Documents/recupdata/#263043": Le dossier n'est pas vide

Pas étonnant car -size c'est le blocksize or le blockzize d'un fichier fait toujours 4ko il me semble.

de plus j'ai vérifier et certains dossier ne sont réellement pas vides, j'ai un trouvé un dossier qui devait être supprimé contenant un fichier texte de 110 octets.

Donc c'est peut être pas la solution la plus fiable et efficace.

#4 Le 03/12/2009, à 12:26

kyncani

Re : Supprimer des fichiers vides récursivement

find "$racine" -type f -size 0 -delete

Hors ligne

#5 Le 03/12/2009, à 21:12

inconnu

Re : Supprimer des fichiers vides récursivement

D'accord mais comme je disais c'est pas fiable et heureusement que ça n'a pas marché car ca supprime des fichiers non vides et dossiers non vides en principe, donc finalement je trie tout sous nautilus, je vais y passer du tant mais tant pis, pas le choix.

#6 Le 03/12/2009, à 22:22

kyncani

Re : Supprimer des fichiers vides récursivement

L'option -type f filtre les fichiers uniquement. Tu ne devrais donc plus avoir de message d'erreur et seuls les fichiers vides devraient être supprimés.

Hors ligne

#7 Le 11/12/2009, à 08:49

bgy

Re : Supprimer des fichiers vides récursivement

-size 0c ne fonctionne qu'avec les fichiers ASCII qui plus est.
Utilise plutôt l'opérateur -empty

find tondossier/ -empty -delete -maxdepth 1

Dernière modification par bgy (Le 11/12/2009, à 08:50)

Hors ligne

#8 Le 11/12/2009, à 10:31

inconnu

Re : Supprimer des fichiers vides récursivement

Je me retrouve avec ça :

find: AVERTISSEMENT : vous avez spécifié l'option -maxdepth après un argument qui n'est pas une option -empty mais les options sont positionnelles (-maxdepth affecte les tests spécifiés avant aussi bien qu'après). SVP spécifiez des options avant les autres arguments.

#9 Le 11/12/2009, à 10:45

®om

Re : Supprimer des fichiers vides récursivement

bgy a écrit :

-size 0c ne fonctionne qu'avec les fichiers ASCII qui plus est.

Tu as vu ça où?

       -size n[cwbkMG]
              File uses n units of space.  The following suffixes can be used:

              `b'    for 512-byte blocks (this is the default if no suffix  is
                     used)

              `c'    for bytes

Hors ligne

#10 Le 14/12/2009, à 20:57

bgy

Re : Supprimer des fichiers vides récursivement

®om a écrit :

Tu as vu ça où?

J'ai parlé trop vite, en fait c'est vrai... pour les fichiers non vides.

Hors ligne

#11 Le 14/12/2009, à 21:20

®om

Re : Supprimer des fichiers vides récursivement

bgy a écrit :
®om a écrit :

Tu as vu ça où?

J'ai parlé trop vite, en fait c'est vrai... pour les fichiers non vides.

Encore une fois, tu as vu ça où que c'était que pour les fichiers non vides? smile

Dernière modification par ®om (Le 14/12/2009, à 21:21)

Hors ligne