删除文件夹所以文件,除了最新的

ls -t | tail -n +2 | xargs rm --
ls -t 按时间降序
tail -n +2 输出从第二行开始的内容

tail -n 2 输出最后两行
tail -n +2 从第二行开始到最后
不写+号的情况,删除后面n-1行
ls
-t | tail -n$((`ls -l | wc -l`-2)) | xargs rm --;

 

 

注意:文件名中含特殊字符的时候可能会出问题

 

 

 

参考:

https://stackoverflow.com/questions/26765163/delete-all-files-except-the-newest-3-in-bash-script

http://mywiki.wooledge.org/ParsingLs

posted @ 2020-12-12 15:31  wolbo  阅读(91)  评论(0)    收藏  举报