Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Recherche et suppression de fichiers
Envoyé par: Aimde

Bonjour à tous

Voila mon p'tit problème, dans un repetoire j'ai des fichiers qui comportent des symboles é qui remplacent les accents, et les memes fichiers avec les accents. Je souhaite écrire un p'tit script qui supprime ceux avec les caractères spéciaux.

Voila ce que j'ai fait, ca me permet juste de trouvé les fichiers et les repertoires avec les caractères. :-)

Et je n'arrive pas à trouvé la commande pour dire que si le fichier ou le rep contient é on le supprime.

#!/bin/sh
find . -name "*é*"

Merci de votre aide

@ pluche les gens !! winking smiley

Poste le Thursday 31 March 2005 14:26:19
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: cancerus

Bonjour,

Tu avais déjà trouvé le find. En cherchant un peu dans le man qui sait... :-)

find . -type f \( -name '*é*' \) -exec rm -f {} \;

A plus.

Poste le Thursday 31 March 2005 14:37:04
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: Aimde

Merci bien !!

Maintenant il me reste plus qu'a trouver pour les repertoires ;-)

Merci encore pour la réponse super rapide !! ;-)

Poste le Thursday 31 March 2005 17:13:18
Répondre     Citer    
Re: Recherche et suppression de fichiers

find . -type d

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Thursday 31 March 2005 17:15:54
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: nicola

Suppression ou renommage ? Va aussi voir du côté de konwert ou de recode pour les réencodages dans des tables de caractères différentes.

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

Poste le Thursday 31 March 2005 17:25:22
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: Aimde

J'ai essayer find . -type d ....

mais il me dit qu'il peut pas enlever le repertoire car c'est un repertoire ?-(?-(?-(

Merci de votre aide !! :-)

Poste le Friday 1 April 2005 10:48:42
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: cancerus

Au niveau du rm de ton find, essaie l'option -fR au lieu de -f.

-f pour "forcer" c'est à dire ne pas demander de confirmation à la suppression

-fR pour "forcer" de façon Récursive (c'est à dire le répertoire et son contenu).

Mais j'ai un doute sur l'effacement du contenu. C'est probablement cela qui bloque.

Dans la commande que je t'ai donnée, ton find détermine le type d'éléments que le rm doit enlever. Or, là, les fichiers contenus dans ton répertoire n'en font pas partie à priori... J'ai donc un doute sur le comportement.

Essaie déjà avec la forme récursive et donne-moi le résultat, s'il te plaît.

Au fait, si tes répertoires sont vides, ça marchera.

Poste le Friday 1 April 2005 11:28:12
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: Aimde

J'ai tapé ça :

find . -type f \( -name '*é*' \) -exec rm -fR {} \;

et voila le résultat :

find . -name "*é*"
./Commercial/doc marché
./Commercial/doc marché/Catégorie Personnel
./Commercial/doc marché/Répartition des tâches
./Commercial/doc marché/demande de certifiacats de capacité
./Commercial/doc marché/marché refusé


Les repertoires sont toujours là.


Poste le Friday 1 April 2005 11:59:31
Répondre     Citer    
Re: Recherche et suppression de fichiers
Envoyé par: marc ferraton

il faut que tu commences par supprimer les plus profond dans l'arborescence avec l'option -depth
donc essayes

find . -depth -name "*é*" -exec rmdir {} \;

Poste le Friday 1 April 2005 12:02:55
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Recherche et suppression de fichiers
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