Suppression d'un fichier horodaté/utilisation de LS ds un script

helios_44 -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai lu que concernant les bonnes pratiques il ne fallait pas utiliser de "ls" dans un script.
Mon besoin est la suppression d'un fichier horodaté.
Par définition, ne connaissant pas le nom du fichier final, je fais un "rm" de cette variable "fichier_horo":

monfichier=$CHEMIN/FICHIERQ-*
fichier_horo=$(ls -A1rt $monfichier | tail -n 1)
rm -f $fichier_horo


Dans la mesure où ce "ls" va afficher tous mes fichiers par ordre de création, il supprimera le dernier.

Avez vous plus "propre" ?

Merci

2 réponses

  1. UnGnU Messages postés 1468 Statut Contributeur 158
     
    Salut,

    Tu ne connais pas le nom, soit, mais as-tu une idée de la date ?
    Genre 1 jour, 1 semaine, 1 mois, etc?
    0
    1. helios_44
       
      Hello

      Non car c un fichier qui peut etre généré à tout moment à partir d'une appli.
      Du coup, je ne connais que le debut du fichier concernant son nom...
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    ls est déconseillé lorsqu'il peut y avoir des noms de fichiers avec espace(s)
    utilier
    for FICHIER in * ; do ...

    plutot que
    for FICHIER in $(ls); do ....
    0