Hier soir, j'ai eu un script un peu fou et j'ai créé un tas de répertoires entre 3h00 et 3h09 du matin. Y a-t-il un paquebot rapide qui les traquera et les enlèvera pour moi?Supprime les fichiers créés entre certains horodatages.
6
A
Répondre
6
Si vous pouvez rechercher les premier et dernier (chronologique) répertoires que vous souhaitez supprimer, vous pouvez utiliser trouver:
find . -newer first -not -newer last -type d
Et si la la sortie vous convient, allez pour la suppression
find . -newer first -not -newer last -type d -print0 | xargs -0 rmdir
ou avec dateurs explicites:
find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d
0
utiliser simplement trouver
find . -type d -newermt "2010-03-31 0300" -and \(-not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
+0
Ceci supprime les répertoires avec tout leur contenu, pas seulement les fichiers. – alk
1
vous pouvez essayer, si vous travaillez dans un seul répertoire et le 5 champ de la sortie ls -ltrog
est le temps.
ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }'
En cours d'exécution ceci donne le drapeau xargs: guillemet simple sans correspondance; Par défaut, les guillemets sont spéciaux pour xargs sauf si vous utilisez l'option -0 –