[英]Delete all except the most recent n files of each prefix (based on file date)?
我正在腳本中運行此命令,它將刪除每個文件中除5個文件以外的所有文件,但不會根據日期保留最后5個文件:
ls -rv | awk -F_ '++n[$1]>5' | xargs rm
**下划線是前綴(主機名)和文件名之間的分隔符。
我也嘗試過其他一些東西,但似乎並不能解決問題。
我正在運行此命令以刪除文件夾中除最后n個文件以外的所有文件,它可以正常運行:
rm -f $(ls -1t -I "*.sh" | tail -n +21)
這適用於所有內容。
我還有另一個文件夾,其中充滿了來自所有具有主機名前綴的各種設備的備份。 格式為:hostname_config.backup-timestamp。
@rici解決了它。 轉儲-rv標志並使用-t創建了我想要的行為。
ls -t | awk -F_ '++n[$1]>5' | xargs rm
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.