Linux shell脚本中文件的旋转

Linux shell脚本中文件的旋转,linux,bash,shell,sh,Linux,Bash,Shell,Sh,我需要写旋转文件外壳脚本。我在目标目录(/backup/store\u id/dates\u文件夹)中有以下格式数据 比如: cd/备份/ drwxr-xr-x 5根根目录4096三月25日12:30 44 drwxr-xr-x 3根根目录4096三月25日12:30 45 drwxr-xr-x 4根根目录4096三月25日12:30 48 drwxr-xr-x 3根根目录4096 Mar 25 12:30 49 cd/backup/44/ drwxr-xr-x 2根根目录4096 Mar 25

我需要写旋转文件外壳脚本。我在目标目录(/backup/store\u id/dates\u文件夹)中有以下格式数据

比如:

cd/备份/

drwxr-xr-x 5根根目录4096三月25日12:30 44

drwxr-xr-x 3根根目录4096三月25日12:30 45

drwxr-xr-x 4根根目录4096三月25日12:30 48

drwxr-xr-x 3根根目录4096 Mar 25 12:30 49

cd/backup/44/

drwxr-xr-x 2根根目录4096 Mar 25 12:30 22032014

drwxr-xr-x 2根根目录4096 Mar 25 12:30 23032014

drwxr-xr-x 2根根目录4096 Mar 25 12:30 24032014

drwxr-xr-x 2根根目录4096三月25日12:30 25032014

现在44(store_id)包含四个日期文件夹。我希望每个商店的id(如44文件夹)只包含三个最近的日期,如23,24,25和22文件夹应删除。请帮助我如何用shell脚本编写。请给我一些提示

这应该有效:

cd /backup && ls -d */ | while read storeId; do rm -r `ls -r $storeId | tail -3`; done
我在这里假设目录名比它们的时间戳更重要。。。
如果不是这样,您应该使用
ls-tr
而不是
ls-r
,让
ls
命令根据时间戳排序…

看看如何使用
find
-mtime
-ctime
选项