J'ai remarqué aujourd'hui (après ~ 8 ans de piratage heureux à bash) qu'il n'y a pas de manière triviale de «supprimer par date» en utilisant «rm». La solution est donc de canaliser les choses autour d'une combinaison de commandes comme rm, ls, find, awk et sed.Existe-t-il un moyen trivial de «supprimer par date» en utilisant «rm» dans bash?
Dire par exemple que je voulais supprimer tous les fichiers dans le répertoire de travail à partir de 2009, quelle serait l'approche typique?
je suis venu avec ce qui suit, qui est bout à bout laid et ne doit être exécuté si « rm » est réglé pour sauter les répertoires (sinon vous allez supprimer le répertoire parent):
ls -la | awk '{if (substr($6,0,5)==2009) print $8}' | xargs rm
Points pour les solutions les plus élégantes et les plus extravagantes.
Qu'est ce que "l", au début du tuyau? Un alias pour "ls -l"? – unwind
oups, oui alias 'ls -la' – Fergie