• # find :)

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

    find . -type f -and -size -1k | xargs rm -r

    Y'a aussi la possibilité de faire avec -exec, mais chezmoicamarchejamaisetjaijamaisprisletempsdecomprendrepourquoi.

    Pense juste à faire un fois la commande find seule, pour être sûr que tu ne zigouille pas d'autres fichiers: on n'est jamais trop prudent avec les rm.
    • [^] # Re: find :)

      Posté par  . Évalué à 5.

      -exec rm {} \;

      fera (peut-être) ton bonheur !

      La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".

      • [^] # Re: find :)

        Posté par  . Évalué à 1.

        Salutations

        Merci pour les infos.
        Je vais essayer ce soir

        Merci.
    • [^] # Re: find :)

      Posté par  . Évalué à 3.

      « find . -type f -and -size -1k | xargs rm -r »

      On peut faire un peu plus simple, sans le "." inutile, et sans le "-and" (inutile dans ce cas-ci); de plus, on efface des fichiers, donc le "-r" ne sert à rien :
      find -type f -size -1k | xargs rm .

      J'utilise plutôt :rm $(find -type f -size -1k), mais s'il y a un très (trop) grand nombre de fichiers, il faut utiliser la méthode avec xargs.
      Ajouter l'option "-f" à "rm" pour ne pas à avoir à confirmer les effacements.

      Tant qu'on est dans les astuces, j'utilise la commande suivante pour obtenir la liste des fichiers de moins de 100 k dans le répertoire courant :
      find -type f -maxdepth 1 -size -100k | cut -c3-
      • [^] # Re: find :)

        Posté par  . Évalué à 2.

        tout pareil, sauf que j'ai tendance à garder le .. pour les recherches sur le répertoire courant :
        - ça permet de bien se rendre compte que find prend un répertoire en paramètre (. par défaut). Bien s'en rendre compte évite de faire systèmatiquement un cd dans le répertoire cible avant de lancer find. (En tout cas, moi, ça m'aurait évité pas mal de cd inutiles si je l'avais su plus tôt ... ;-)
        - c'est plus portable, vu que les find non Gnu ont furieusement tendance à exiger que le répertoire cible soit passé en paramètre.

        mes 2 centimes
      • [^] # Re: find :)

        Posté par  . Évalué à 2.

        Le plus propre reste qd meme soit un -exec, soit un find -print0 | xargs -0. En effet le rm $(find ...) se comporte très mal si les fichiers contiennent des espaces, des parenthèses, ou autre.
        Pour être parfaitement blindé, j'aurais dit qu'il faut même utiliser rm -- au lieu de juste rm si un fichier a le malheur de s'appeler quelquechose comme -rf .., mais apparemment ça ne provoque pas de catastrophe avec le rm naïf non plus ;)

Suivre le flux des commentaires

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