我有大約10個文件夾,我正試圖在這些文件夾下只保留幾個子文件夾,並刪除剩餘的文件夾。如何在Unix中保留某些文件夾並刪除其餘文件夾
例如:我有
A/1 A/2 A/3 A/4 B/1 B/4 B/5 B/6
我想只保留文件夾1和4的每個父文件夾爲A和B.我使用find -type d -name 2 -exec rm -rf {} \;
找到並刪除每個文件夾。
是否有任何unix命令只是保持文件夾1和4,並刪除其餘的?
我有大約10個文件夾,我正試圖在這些文件夾下只保留幾個子文件夾,並刪除剩餘的文件夾。如何在Unix中保留某些文件夾並刪除其餘文件夾
例如:我有
A/1 A/2 A/3 A/4 B/1 B/4 B/5 B/6
我想只保留文件夾1和4的每個父文件夾爲A和B.我使用find -type d -name 2 -exec rm -rf {} \;
找到並刪除每個文件夾。
是否有任何unix命令只是保持文件夾1和4,並刪除其餘的?
告訴準確找到你要找的東西;
find . -mindepth 2 -type d -name "[^14]" -exec rm -rf {} \;
不包括目錄1和4,在子級找到其他目錄並刪除它們。
我相信這個工程的POSIX兼容的系統:
find . -type d -links 2 \! \(\(-name 1 \) -o \(-name 4 \) \) -exec rm -rf {} \;
這包括獨生子女目錄和排除目錄命名爲1或4
AIG的想法,以排除可能是正確的,但方法來排除與find是用-o(或)運算符,它停止,如果什麼來之前是真,否則繼續:
find . -mindepth 2 -type d -name 1 -o -name 4 -o -exec rm -rf {} +
使用glob的只是
$ rm -rf [AB]/[^14]
我試過這個命令來檢查它沒有返回任何東西。 找到。 -mindepth 2 -type d -name「[^ 14]」-print – Roger
很奇怪。在我的安裝中,我會得到您請求的確切結果。除非你的目錄不是數字... – AlG