我有一個包含我的應用程序版本的文件夾,每當我上傳新版本時爲其創建一個新的子文件夾,子文件夾名稱爲當前時間戳,這裏是所使用的主文件夾的打印輸出(ls -l命令| grep的^ d):Linux - 僅保存最近的10個文件夾並刪除其餘的文件夾
drwxrwxr-x 7 root root 4096 2011-03-31 16:18 20110331161649
drwxrwxr-x 7 root root 4096 2011-03-31 16:21 20110331161914
drwxrwxr-x 7 root root 4096 2011-03-31 16:53 20110331165035
drwxrwxr-x 7 root root 4096 2011-03-31 16:59 20110331165712
drwxrwxr-x 7 root root 4096 2011-04-03 20:18 20110403201607
drwxrwxr-x 7 root root 4096 2011-04-03 20:38 20110403203613
drwxrwxr-x 7 root root 4096 2011-04-04 14:39 20110405143725
drwxrwxr-x 7 root root 4096 2011-04-06 15:24 20110406151805
drwxrwxr-x 7 root root 4096 2011-04-06 15:36 20110406153157
drwxrwxr-x 7 root root 4096 2011-04-06 16:02 20110406155913
drwxrwxr-x 7 root root 4096 2011-04-10 21:10 20110410210928
drwxrwxr-x 7 root root 4096 2011-04-10 21:50 20110410214939
drwxrwxr-x 7 root root 4096 2011-04-10 22:15 20110410221414
drwxrwxr-x 7 root root 4096 2011-04-11 22:19 20110411221810
drwxrwxr-x 7 root root 4096 2011-05-01 21:30 20110501212953
drwxrwxr-x 7 root root 4096 2011-05-01 23:02 201105
drwxrwxr-x 7 root root 4096 2011-05-03 21:57 20110503215252
drwxrwxr-x 7 root root 4096 2011-05-06 16:17 20110506161546
drwxrwxr-x 7 root root 4096 2011-05-11 10:00 20110511095709
drwxrwxr-x 7 root root 4096 2011-05-11 10:13 20110511100938
drwxrwxr-x 7 root root 4096 2011-05-12 14:34 20110512143143
drwxrwxr-x 7 root root 4096 2011-05-13 22:13 20110513220824
drwxrwxr-x 7 root root 4096 2011-05-14 22:26 20110514222548
drwxrwxr-x 7 root root 4096 2011-05-14 23:03 20110514230258
我正在尋找一個命令,會留下最後的10個版本(子文件夾),並刪除休息。
有什麼想法?
即時通訊:rm:無法刪除目錄:'。' – Ran 2011-05-16 22:27:39
哇!首先,'ls -dt'只輸出'.'。其次,如果你將它改正爲'ls -t',那麼你將刪除10個最新的文件,這與所要求的完全相反。第三,如果除了所考慮的目錄之外還有其他文件,你的腳本會很樂意刪除隨機的東西。第四,如果有「奇怪的」文件名,你的腳本可以做任何事情,因爲你正在解析'ls'的輸出,[不是一個好主意](http://mywiki.wooledge.org/ParsingLs),您將準備好的輸入傳遞給['xargs'](http://linux.die.net/man/1/xargs)。 – Gilles 2011-05-16 22:30:33
等一下我已經注意到,你想先離開第一個10,並刪除所有其他人,我認爲你需要刪除第一個10.嗯你的錯誤是有趣的。 – 2011-05-16 22:31:18