Forum Programmation.shell supression de fichiers

Posté par  .
Étiquettes : aucune
0
20
mai
2008

hello,

j'ai plein de fichier .toto eparpillé un peux partout. je souhaiterais les éffacer.
je ne suispas tres fort en scripts, si quelqu'un pouvait m"éclairer sur la maniere d'en faire un qui me trouverait tout ces fichiers .toto et qui me les effacerait derriere.
  • # man find

    Posté par  . Évalué à 2.

    De mémoire :
    find repertoire_de_base -name "*.toto" -exec rm \{\} \;

    On peut remplacer exec par ok si on veut une confirmation.
    • [^] # Re: man find

      Posté par  (site web personnel) . Évalué à 5.

      autre possibilitées avec un find récent:

      1/ execution par lot, comme xargs:
      find repertoire_de_base -name "*.toto" -exec rm \{\} \+

      2/ fonction dédie:
      find repertoire_de_base -name "*.toto" -delete
      • [^] # Re: man find

        Posté par  . Évalué à 3.

        et encore autre possibilité avec xargs (mangez en)
        find repertoire_de_base -name "*.toto" | xargs rm

        et si tu sais que c'est des fichiers, tu peux aussi rajouter l'option -type f de find.
        • [^] # Re: man find

          Posté par  (site web personnel) . Évalué à 2.

          xargs n'a plus aucun interêt face aux derniers find,
          l'utilisation de '+' à la place de ';' copie le fonctionnement de xargs
          si besoin, et l'option -delete supprime meme le besoin de fork
          d'un /bin/rm
          • [^] # Re: man find

            Posté par  . Évalué à 2.

            ah bien vu ! le + m'avait échappé dans ton premier post. Une option de find que je connaissais pas encore.

            pff ... si faut relire les man des commandes qu'on croit connaitre à chaque fois, on est pas arrivé ... =)
  • # man find...

    Posté par  . Évalué à -1.

    J'ai pas de shell sous la main la tout de suite mais de tete un simple find peux te faire ca....

    find *.toto -exec rm {}

    ou {} sera remplacé par les arguements résultat de ton find....
    pour t'assurer de la syntaxe avant de faire une boulette

    find *.toto -exec ls -l {}

    "Pas de script simplifie le script"
  • # supression de fichiers

    Posté par  . Évalué à 1.

    find / -name ".toto" -exec rm -vf {} \;
    ou
    find / -name ".toto" | xargs -vf
  • # C'est pas un peu dangereux ces exec rm ..

    Posté par  . Évalué à 7.

    J'aime bien :

    find . -name "*.toto" -exec echo "rm {}" \; > delList

    La on peut regarder la liste des fichiers à supprimer et ensuite faire

    chmod u+x delList
    ./delList
  • # script

    Posté par  . Évalué à 1.

    un gros merci a vous tous pour toutes ces combine.
    c'est tres sympa :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.