Commande shell pour suppression de fichier

Fermé
sir_rob1 - 17 avril 2008 à 16:42
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 29 sept. 2010 à 11:19
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.
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
17 avril 2008 à 18:14
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
epoulos Messages postés 85 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 16 décembre 2011 494
30 juin 2009 à 14:37
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
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
JO duMonT > JO duMonT
6 janv. 2010 à 01:31
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
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
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
29 sept. 2010 à 11:19
Salut,

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

ça marche !!! merci bcp.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
21 avril 2008 à 15:17
De rien ;-))

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