請問unix的find和rm指令搭配的用法??? - Linux

Table of Contents

我有一個目錄...裡面有很多子目錄和檔案
希望可以刪除 當層目錄內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檔案

有辦法解嗎?????


麻煩大大幫忙了

--

All Comments

Christine avatarChristine2013-02-27
看看-maxdepth
Skylar DavisLinda avatarSkylar DavisLinda2013-02-28
不好意思...我沒有-maxdepth 參數..
Audriana avatarAudriana2013-03-03
我系統是solaris
Harry avatarHarry2013-03-04
在前面加上 -maxdepth 1 -type f
John avatarJohn2013-03-06
慢好幾步 ~"~
Audriana avatarAudriana2013-03-07
我系統不認得-maxdepth參數..有機會用grep指令
Agatha avatarAgatha2013-03-08
去過濾其它目錄嗎
Susan avatarSusan2013-03-10
先把子目錄搬走?反正mv的成本不高
Frederica avatarFrederica2013-03-14
已知路徑格式可不可以一個一個test?
Rosalind avatarRosalind2013-03-15
Quintina avatarQuintina2013-03-20
find -path './A*' -type d -prune -o -name '*.xml' -print
Eartha avatarEartha2013-03-23
我的子目錄名稱都不一樣.而且有幾10個.一個一個過濾太麻煩
Faithe avatarFaithe2013-03-27
mv要如何將子目錄一次搬走...而又不會搬到當層目錄
Carol avatarCarol2013-03-28
如果真的不行...我想到一個比較笨的方式..寫一個shell
Leila avatarLeila2013-04-01
先建立一個目錄..在把當層目錄的*.xml搬進去...
David avatarDavid2013-04-03
在使用find指令+rm刪除100天前資料...在把剩下檔案搬回去
Joseph avatarJoseph2013-04-06
但真的想知道..是否有更聰明的方式
Heather avatarHeather2013-04-07
-prune
Madame avatarMadame2013-04-11
0.0 可能你不喜歡簡單解法八ˇˇ
Skylar Davis avatarSkylar Davis2013-04-12
rm `find -name "*.xml" |grep -v "./a\d*"`