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 10/10/2011, à 10:22

Dominique49

[résolu] Problème pour supprimer fichier en shell

Salut,
ça fait une heure que je peste contre un script qui marche mal ..
voilà, je voudrais supprimer tout les fichiers se terminant par .java.latin1
voici le code :

 find . -name *.java.latin1 | while read f
    do
      
         echo "supression de $f ..."
               rm -f $f
    done
    echo "Fin du traitement."
    read

bon, les fichiers sont bien trouvés, mais pas supprimés !
j'ai pourtant tout les droits nécessaire (je me suis mis en mode root pour être sur) ...
j'ai tout essayé, pas moyen, où est l'erreur ?!
Merci d'avance.

Dernière modification par Dominique49 (Le 10/10/2011, à 11:08)


Maths spé - Lycée Camille Guérin

Hors ligne

#2 Le 10/10/2011, à 10:42

pingouinux

Re : [résolu] Problème pour supprimer fichier en shell

Bonjour,
Je ferais comme ceci :

find . -name \*.java.latin1 -exec rm -f {} \;

Ajouté

Pour faire marcher le script :

find . -name \*.java.latin1 | while read f
    do
      
         echo "supression de $f ..."
               rm -f $f
    done
    echo "Fin du traitement."
    read

Dernière modification par pingouinux (Le 10/10/2011, à 10:49)

Hors ligne

#3 Le 10/10/2011, à 11:01

Dominique49

Re : [résolu] Problème pour supprimer fichier en shell

merci beaucoup,
j'avais recopié ce code sur internet et je l'ai modifié (au départ c'était pour lister le contenu d'un répertoire).
merci, j'essaye avec ça, mais juste une une qestion, quelle est la différence entre \*.java.latin1 et *.java.latin1 ?
et puis le echo m'affichait bien le bon chemin d'accès au fichier pourtant ?!
ça fait rien, j'essaye tout de suite.
merci beaucoup.


Maths spé - Lycée Camille Guérin

Hors ligne

#4 Le 10/10/2011, à 11:07

Dominique49

Re : [résolu] Problème pour supprimer fichier en shell

Salut, le deuxième code (le plus long) ne marche pas, et tente apparemment de supprimer les dossier contenant les fichiers ciblés, car la console affiche "ipossible de supprimer "./Organizator/" car c'est un dossier.
a savoir que Organizator contient des fichiers *.java.latin1

Par contre, ton premier code marche du tonnerre, bravo !
personnellement, je ne connais pas encore assez shell pour comprendre ton code ... (je suis sur ubuntu depuis hier seulement smile , suite à un crash de window ...)

merci encore.
Dominique.


Maths spé - Lycée Camille Guérin

Hors ligne

#5 Le 10/10/2011, à 12:43

pingouinux

Re : [résolu] Problème pour supprimer fichier en shell

Bienvenue sur Ubuntu

Dominique49 #3 a écrit :

quelle est la différence entre \*.java.latin1 et *.java.latin1 ?

Si le répertoire dans lequel on se trouve ne contient pas de fichiers quelque_chose.java.latin1, il n'y a pas de différence.
S'il en contient, il y aura l'expansion de *.java.latin1, et la commande sera erronée. D'où le \*, par prudence dans tous les cas.

Dominique49 #4 a écrit :

"ipossible de supprimer "./Organizator/" car c'est un dossier.

Je pense qu'il y a des noms de fichiers qui contiennent des espaces. Il faudrait corriger la ligne contenant le rm :

               rm -f "$f"

Et pour n'avoir que les fichiers (problème seulement si un dossier se termine par .java.latin1) :

find . -type f -name \*.java.latin1 | while read f

Hors ligne

#6 Le 10/10/2011, à 14:10

Dominique49

Re : [résolu] Problème pour supprimer fichier en shell

Merci,
effectivement il y a des espace, ce qui m'a fait cherché (j'ai fini par trouver en entourant avec des guillemets) ...
merci beaucoup, à bientôt.
Dominique.


Maths spé - Lycée Camille Guérin

Hors ligne

#7 Le 10/10/2011, à 14:42

pingouinux

Re : [résolu] Problème pour supprimer fichier en shell

Pour voir les espaces et les caractères folkloriques dans les noms de fichiers :

ls -b

mais mieux vaut éviter ces caractères, pour s'épargner bien des ennuis par la suite.

Hors ligne

#8 Le 11/10/2011, à 11:58

Dominique49

Re : [résolu] Problème pour supprimer fichier en shell

oui, je le savais, seulement ça avait été créé automatiquement par Eclipse ...
solution, pas d'espace dans les noms de projets Eclipse wink
merci, à bientôt.


Maths spé - Lycée Camille Guérin

Hors ligne