Fei*_*ila 3 shell-script files
我想创建一个 shell 脚本来删除除最后 n 个文件之外的旧版本文件。换句话说,当我部署一个新版本时,只保留最后 n 个版本。
文件名具有以下格式:
appname_releasenumber_date.tar.gz
Run Code Online (Sandbox Code Playgroud)
也许有一个简单的解决方案可以做到这一点,但我不知道如何做到这一点。
我找到了这个解决方案,在 Linux 上以更简洁的方式删除文件,其中包含日期戳作为文件名的一部分,但我需要先生成一些文件以保持我想要的文件数量。
我将更改@Salton 的答案以使其更通用:
ls -1 | sort -t_ -n -k2 | head -$((`ls | wc -l`-1)) | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)
这个按版本号排序并完全忽略日期。因此,如果旧版本的日期较新,则旧版本将被删除。
归档时间: |
|
查看次数: |
552 次 |
最近记录: |