linux - How could I remove all directories except 10 recent with bash? -


i have following folders in base /var/www/.versions directory:

1435773881 jul  1 21:04 1435774663 jul  2 21:17 1435774856 jul  3 21:20 1435775432 jul  4 21:56 

how remove directories except 10 recent bash script?

this should trick, believe?

rm -r $(ls -td /var/www/.versions/*/ | tac | head -n-10) 

the idea: list (with ls) directories ( that's -d /var/www/.versions/*/) sorted time -t (oldest shown last).

then, reverse output using tac oldest directories on top.

and show them except last 10 lines head , negative argument -n

please, test non-vital directories first ;-) can change rm -r echo see removed.


Comments

Popular posts from this blog

c# - Better 64-bit byte array hash -

webrtc - Which ICE candidate am I using and why? -

php - Zend Framework / Skeleton-Application / Composer install issue -