Supprimer fichier en fonction de leur nom.

Fermé
Argrat - 27 mai 2013 à 10:05
 Argrat - 27 mai 2013 à 10:34
Bonjour,

J'ai besoin de faire le ménage dans mes fichiers, et pour ça je dois faire un script en shell, ne connaissant linux que depuis 1 mois, il est assez difficile pour moi de tout comprendre.
Ainsi chaque jour des fichiers tels que ceux ci sont créés :


HD AudioRec01_07-05-2013_10h-11h.wav
SD AudioRec01_14-05-2013_10h-11h.mp3

Mon but est de supprimer ces fichiers en fonction d'une certaine date, non pas avec la dernière date de modification mais en fonction de leur nom.

J'ai commencé par ça :

#!/bin/bash
heure=$(date +%H --date="1 hour")
suppfichier=FlashFBLO_"$heure"h_$(date +%d-%m-%Y --date="15 day ago").mp3
rm /home/membre/pige/flash/FBLO/$suppfichier

Pensez vous que cela est bon ?
Si non comment pourrais je procéder ?

Merci de votre aide =)



A voir également:

2 réponses

Pierre8888 Messages postés 1053 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 mai 2015 165
27 mai 2013 à 10:24
Bonjour bien voilà un petit nettoyage s'impose. En règle générale Ubuntu est bien optimisé mais si on manque de place, ou que l'on veut optimiser au maximum il faut bien faire quelque chose. http://doc.ubuntu-fr.org/nettoyer_ubuntu
pense à faire une sauvegarde avant toutes manipulations, au risque de tout perdre !
0
!#/bin/bash

echo "Saisissez le dossier dans lequel vous souhaitez supprimer les fichiers [chemin]."
read chemin
cd $chemin
if [$? = 1]
then
echo "Le chemin est incorrect."
echo "Vous vous situez dans le dossier suivant :"
pwd
echo "Ce script choisira le dossier dans lequel vous vous situez pas défaut. Continuer ? [o/n]
read rep1
else
rep1='o'
fi
if [$rep1 = 'o']
then
echo "Supprimer les fichiers vieux de combien de temps ? [En nombre de jours]"
read cbTemps
find . -mtime +$cbTemps -print -exec rm "{}" \;
if [$?=1]
then
echo "Une erreur est survenue. Interruption du script."
else
echo "Suppression des fichiers vieux de plus de $cbTemps jour(s) réussie. Interruption du script."
fi
else
echo "Interruption du script en cours."
fi

Ce script me parait pas mal, mais en fait je cherche à supprimer tous les fichiers de plus de tant de jours, à partir de leur nom 27-05-2013 pour aujourd'hui par exemple, il faudrait que supprime tous les fichiers qui ont 20-05-2013 ou plus vieux.
Ce serai pour un script qui se déclenche chaque jours.
0