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

相关文章:

  • 2022-12-23
  • 2021-11-05
  • 2021-09-14
  • 2021-09-20
  • 2021-11-17
  • 2021-07-01
猜你喜欢
  • 2022-12-23
  • 2021-10-17
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2021-09-23
相关资源
相似解决方案