Commande shell pour suppression de fichier

sir_rob1 -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

j'aimerai pouvoir supprimer dans un répertoire Unix tous les fichiers datant par exemple du '22/08/2007' .

-rw-rw-rw- 1 dvalo paci_app 151 Aug 22 2007 _COTSTDU1_ARA.234087.fin
-rw-rw-rw- 1 dvalo paci_app 130 Aug 22 2007 _COTSTDU1_REM.234097.fin
-rw-rw-rw- 1 dvalo paci_app 151 Aug 22 2007 _COTSTDU1_ARA.234097.fin
-rw-rw-rw- 1 dvalo paci_app 130 Aug 22 2007 _COTSTDU1_REM.234149.fin
-rw-rw-rw- 1 dvalo paci_app 151 Aug 22 2007 _COTSTDU1_ARA.234149.fin
-rw-rw-rw- 1 dvalo paci_app 130 Aug 28 2007 _COTSTDU1_REM.240076.fin

quelle commande puis je appliquer afin de retrouver tous ces fichiers et les supprimer sans toucher aux autres?

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Regarde du côté de la commande "find" et de son option "-mtime" (man find), un truc du genre (remplacer "n" par le nombre de jours équivalent à la différence entre la date du jour et la date de référence) :
    find /rep -type f -mtime n -exec echo "rm -f {}" \;
    Enlever le "echo" si les tests sont concluants...
    7
  2. epoulos Messages postés 100 Statut Membre 500
     
    Bonjour,

    J'ai utilisé ce code qui a marché à la perfection.

    REP=/home/MonRepertoire/DossierDeTest
    find $REP/backup_*.tar.gz -type f -mtime +90 | xargs rm -f

    Cela supprime tout les fichiers respectant la syntaxe backup_*.tar.gz vieux de plus de 90 jours (3 mois) dans le répertoire DossierDeTest.

    En espérant avoir aidé certains. A noter : REP est paramétrable...

    Bonne journée.
    6
    1. JO duMonT
       
      j'avais une question semblable à ça pour un devoir linux
      j'ai réussit en faisant

      on créait des backups du répertoire home avec tar de cette façon
      tar -zcf /backup/hbackup$(date +%d%b%y_.tar.gz /home/*

      et il fallait enlevé les fichiers plus vieux que 3jours.

      donc à partir des énonçés ci-haut j'ai réussit avec la ligne suivante :
      rm -f $(find /backup/hbackup*.tar.gz -mtime -3)
      0
      1. JO duMonT > JO duMonT
         
        ya une merdouille à la ligne 5
        on lit

        tar -zcf /backup/hbackup$(date +%d%b%y_.tar.gz /home/*

        aurait dû lire

        tar -zcf /backup/hbackup$(date +%d%b%y).tar.gz /home/*
        0
    2. miko-miko
       
      merci pour la commande mais j'ai un type de dossier .svn caché que je veut les supprimer, cette commande n'a pas pu réussir:

      find $REP/*.svn -type f | xargs rm -f
      0
    3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Salut,

      find $REP -name "*.svn" -type f | xargs rm -f
      0
  3. sir_rob1
     
    salut,

    ça marche !!! merci bcp.
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      De rien ;-))

      On peut avoir la syntaxe complète que tu as utilisée, s'il te plaît, merci ?
      0