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

helios_44 -  
dubcek Messages postés 18789 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

A voir également:

2 réponses

UnGnU Messages postés 1158 Date d'inscription   Statut Contributeur Dernière intervention   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
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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