[linux] suprresion de fichiers

laetitia -  
gorkimat Messages postés 71 Statut Membre -
Bonjour,
Je souhaiterais effacer en ligne de commande linux sous putty tous les fichiers d'un répertoire mais dont la date de création est inferieur a la date du jour.
Je sais qu'il existe la commande rm pour supprimer les fichiers d'un dossier, mais je ne trouve nulle part comment ajouter une condition (sur la date) à cette fonction :(

Si quelqu'un pourrait m'aider ca serait super cool !!!

Merci d'avance et @ bientôt :)

Laetitia,
Configuration: Windows Vista
Opera 9.24

3 réponses

  1. gorkimat Messages postés 71 Statut Membre 9
     
    Bonjoru laetita,

    Essaye cette commande, elle devrait fonctionner (Un petit conseil, sauvegarde tes fichiers avant de tester) :

    find . -mtime +1 -type f -xdev -print -exec rm {} \;


    Bonne journée,

    Mathie
    0
  2. laetitia
     
    Salut Mathie,

    Quelle rapidité !

    Merci beaucoup pour ton aide !

    Je ne comprend pas trop cette commande, mais en gros c'est le -mtime +1 qui pose la condition sur la date ?
    est ce que ca va bien effacer tous les fichiers SAUF ceux du jour ?
    Et est ce que cette commande va effacer automatiquement les fichiers voulus ou est ce que ca va juste les trouver et les afficher ?

    Je vais tester ca dessuite :)
    0
  3. gorkimat Messages postés 71 Statut Membre 9
     
    Laetitia,

    Effectivement, c'est l'option mtime qui pose la condition. Ex :

    - Si tu veux tous les fichiers de plus de 20 jours: -mtime +20
    - Si tu veux les fichiers de moins de 20 jours : -mtime -20

    -type f : Signifie que tu ne cherche que des Fichiers (pas des repertoires)
    -xdev : Recherche uniquement sur le file system 'primary'
    -print : Affiche les fichiers concernés
    -exec : Execute la commande (dans notre cas rm)

    Si tu veux verifier que ca va uniquement effecer les fichiers voulus, tu peux supprimer -exec

    find . -mtime +1 -type f -xdev -print


    J'espere avoir répondu à tes questions.

    Bonne journée,

    Mathieu
    0