我需要编写一个递归脚本来删除名为“date-2012-01-01_12_30”的子文件夹中的所有文件夹,但保留两个最新的。
/var/www/temp/updates/ 然后按“日期”和“代码”显示数百个文件夹
例如
/var/www/temp/updates/2012-01-01/temp1/date-2012-01-_12_30
/var/www/temp/updates/2012-01-01/temp1/date-2012-02-_13_30
/var/www/temp/updates/2012-01-01/temp1/date-2013-11-_12_30
/var/www/temp/updates/2012-01-01/temp2/date-2012-01-_12_30
我正在考虑使用 find 来获取文件夹,但不确定如何知道我可以删除哪些文件夹,因为脚本必须知道日期 - 文件夹在那个子文件夹中,哪些是最新的
嗯,有什么帮助会很好吗?
代码:
$PATH=/var/www/temp/updates/*/*
find $PATH -type d -name "date-*" -printf '%T@ %p\n' | sort -n | head -n -2 | cut -f2- | xargs ls -l
该脚本将需要遍历数千个不同的文件夹并保留两个最新的文件夹-这里有人帮助过,但我没有更改它以便搜索数千个文件夹