2010-04-01 17 views

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

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 –

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) }' 
Problemi correlati