Forum Programmation.perl Suppression de fichier selon la date de creation

Posté par  .
Étiquettes : aucune
0
16
juin
2005
Bonjour à tous,

je suis un débutant en perl, je cherche à faire un perl qui me permettrait de supprimer des fichiers dans un repertoire selon leur date de creation.
exemple : supprimer tous les fichiers dont la date de creation est inférieur de 1 mois par rapport à la date du jour.

Quelqu'un pourrait-til m'aider.

merci par avance
  • # Perl?

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

    Pourquoi faire ca en perl?
    Une ligne de bash (juste une commande find en fait) est tellement simple

    En gros ca donne:
    touch -m "<mettez ici la date d'il y a un mois>" date
    find / -isnewer date -exec "rm {}"
    Bon le isnewer est fait à la louche, et il faudrait trouver une maniere plus elegante pour avoir la date
    • [^] # Re: Perl?

      Posté par  . Évalué à 1.

      Merci a toi,
      je vais utiliser cette solution.
      A +
      • [^] # Re: Perl?

        Posté par  . Évalué à 2.

        Pourquoi pas plutot un -mtime +30 :

        find . -mtime +30 | xargs rm

        Bon on suppose que tous les mois font 30 jours ...
        • [^] # Re: Perl?

          Posté par  . Évalué à 1.

          Salut je viens d'avoir a faire ca:

          #!/bin/sh

          #supprime tous les fichiers qui ne sont pas du 4/07/2005


          for fichier in ./*

          do
          DATE=`ls -l $fichier |awk '{FS=" ";print $6}'`

          if

          [ "$DATE" != "2005-07-04" ] && [ $fichier != "./supp.sh" ]

          then
          echo suppression de $fichier
          rm $fichier

          fi
          done

Suivre le flux des commentaires

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