看板 Linux 關於我們 聯絡資訊
我有一個目錄...裡面有很多子目錄和檔案 希望可以刪除 當層目錄內100天前資料嗎 例如: /usr/data內有 A1,A2,A3...A100子目錄 但是/usr/data內有很多檔案是xml結尾的 我希望只刪除/usr/data內xml檔案...大於100天的... 但是我卻不希望刪除到A1,A2,A3...A100子目錄內的xml檔案.... 我想到的指令是 find /usr/data -name "*.xml" +mtime 100 -exec rm{} \; 但這會遇到一個問題...這也會刪除包含A1,A2,A3...A100子目錄內的xml檔案 有辦法解嗎????? 麻煩大大幫忙了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.205.136.7
ckclark:看看-maxdepth 02/26 23:55
zchien:不好意思...我沒有-maxdepth 參數.. 02/26 23:59
zchien:我系統是solaris 02/27 00:00
asilzheng:在前面加上 -maxdepth 1 -type f 02/27 00:00
asilzheng:慢好幾步 ~"~ 02/27 00:01
zchien:我系統不認得-maxdepth參數..有機會用grep指令 02/27 00:02
zchien:去過濾其它目錄嗎 02/27 00:03
kdjf:先把子目錄搬走?反正mv的成本不高 02/27 00:04
Reylod:已知路徑格式可不可以一個一個test? 02/27 00:08
kdjf:http://tinyurl.com/6lblh8l 02/27 00:09
tkcn:find -path './A*' -type d -prune -o -name '*.xml' -print 02/27 00:13
zchien:我的子目錄名稱都不一樣.而且有幾10個.一個一個過濾太麻煩 02/27 22:30
zchien:mv要如何將子目錄一次搬走...而又不會搬到當層目錄 02/27 22:31
zchien:如果真的不行...我想到一個比較笨的方式..寫一個shell 02/27 22:32
zchien:先建立一個目錄..在把當層目錄的*.xml搬進去... 02/27 22:33
zchien:在使用find指令+rm刪除100天前資料...在把剩下檔案搬回去 02/27 22:34
zchien:但真的想知道..是否有更聰明的方式 02/27 22:35
kdjf: -prune 02/27 23:25
qwertmn:0.0 可能你不喜歡簡單解法八ˇˇ 03/08 11:40
qwertmn:rm `find -name "*.xml" |grep -v "./a\d*"` 03/08 11:43