Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/02/2017, à 08:54

remi82

Suppression des fichiers d'une année

Bonjour,

Je souhaite supprimer tous les fichiers d'une année.
Je connaissais la syntaxe suivante pour supprimer par exemple les fichiers de plus de 30 jours :

find /home/ -type f -mtime +30 -print0 | xargs -r0 rm

En cherchant, j'ai trouvé la commande suivante, permettant de lister tous les fichiers d'une année précise :

find /home/ -type f | awk '$(NF-1) ~ /'"$date_a_sup"'/ {print $0}'

Ce code fonctionne. "date_a_sup" étant une variable. Je me suis dit que tout simplement, j'allais ajouté "| xargs -r0 rm"
Soit :

find /home/ -type f | awk '$(NF-1) ~ /'"$date_a_sup"'/ {print $0}' | xargs -r0 rm

Mais la commande me retourne l'erreur suivante : xargs: ligne de paramètres trop longue
J'ai beau chercher, je ne trouve pas encore la solution.

Merci par avance.

Hors ligne

#2 Le 15/02/2017, à 11:25

remi82

Re : Suppression des fichiers d'une année

J'ai trouvé,

J'utilise la première commande en écrivant le résultat dans un fichier.
Puis je fais une boucle pour lire chaque ligne, et ainsi supprimer mes fichiers.

Hors ligne

#3 Le 15/02/2017, à 12:12

maxire

Re : Suppression des fichiers d'une année

Salut,

Pour supprimer tous les fichiers de l'année 2016 (année bissextile) tu peux aussi tenter:

find $HOME -type f -mtime +36 -mtime -402 -exec rm {} \;

15 février = 36eme jour de l'année 402=36+366
et pour l'année 2015

find $HOME -type f -mtime +402 -mtime -767 -exec rm {} \;

C'est plus lourd que de mettre l'année à supprimer mais il est possible de calculer les bornes à utiliser et de générer la commande find...


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne

#4 Le 15/02/2017, à 17:45

remi82

Re : Suppression des fichiers d'une année

Bonjour Maxire,

Merci pour ton retour. Je vais garder ma solution. Mais je garde précieusement la tienne.
Encore merci

Hors ligne

#5 Le 15/02/2017, à 18:15

pingouinux

Re : Suppression des fichiers d'une année

Bonjour,
Tu peux aussi faire quelque chose dans ce genre (après avoir vérifié que tu sélectionnes les bons fichiers) :

find /home/ -type f -mtime +30 -delete

Hors ligne