• # Re: Virer des fichiers superflus

    Posté par . En réponse au message [Terminal] Virer des fichiers superflus. Évalué à 1.

    Personnellement, j'ai l'habitude de mettre un test sur le type de fichier (-type f pour un fichier classique) et de passer par xargs pour ne lancer la commande à exécuter sur les fichiers qu'une seule fois (gain de temps non négligeable si le nombre de fichiers retourné est grand).

    De plus, pour ne pas être gêné par les espaces dans les noms de fichiers, on peut séparer les noms par un caractère nul au lieu d'un espace (couple d'options -print0 et -0 pour find et xargs).

    Ma commande ressemble donc à :
    find /dossier -type f \( -name "foo" -or -name "bar" \) -print0 | xargs -0 rm -rfv

    Enfin, je voudrais pointer les options -iname et -lname de find qui permettent respectivement de faire correspondre le nom de fichier avec une casse non significative et de faire correspondre le nom du fichier pointé par un lien symbolique (-ilname combine les 2). Exemple d'utilisation de -lname pour savoir quand /etc/init.d/iptables est appelé par init :
    find /etc -type l -path '/etc/rc?.d/*' -lname '*/iptables'

    Note : les options que je donne ne sont disponibles que pour les versions GNU de find...