Ieri sera ho avuto una sceneggiatura un po 'pazza e ho creato una serie di directory tra le 3:00 e le 3:09. C'è una fodera veloce che caccia questi giù e li rimuova per me?Rimuovi i file creati tra determinati timestamp.
6
A
risposta
6
Se è possibile cercare le prime e ultime directory (cronologico) che si desidera eliminare, quindi è possibile utilizzare find:
find . -newer first -not -newer last -type d
E se il uscita adatta a te, vai per la cancellazione
find . -newer first -not -newer last -type d -print0 | xargs -0 rmdir
o con Data espliciti francobolli:
find . -newermt "2010-03-31 0300" -not -newermt "2010-03-31 0310" -type d
0
sufficiente utilizzare trovare
find . -type d -newermt "2010-03-31 0300" -and \(-not -newermt "2010-03-31 0310" \) -exec rm -rf {} \;
+0
Questo elimina le directory con tutto il loro contenuto, non solo i file. – alk
1
Si può provare questo, se si lavora in una sola directory e il 5 ° campo della ls -ltrog
uscita è il tempo.
ls -ltrog | awk '$5~/03:0[0-9]/{$1=$2=$3=$4=$5="";gsub("^ +",""); cmd="rm \047"$0"\047";system(cmd) }'
In esecuzione questo dà la bandiera xargs: virgoletta singola ineguagliata; per impostazione predefinita le virgolette sono speciali per xargs a meno che non si usi l'opzione -0 –