2014-03-28 85 views
0

我正在尋找一種列出UNIX系統上的目錄內容的方法,該方法未出現在預定義的「排除「列表。UNIX(AIX):如何列出不在列表中的目錄中的所有文件

說我有一個目錄:

dir1 
    dir1-1 
     test1 
     test2 
     test3 
    dir1-2 
     test4 
     test5 

和 「排除列表」 本身:

dir1/dir1-1/test1 
dir1/dir1-2/test5 

我感興趣的輸出

dir1/dir1-1/test2 
dir1/dir1-1/test3 
dir1/dir1-2/test4 

和實際命令將同時擁有數千個文件的排除列表和目錄結構,因此性能有點問題。

任何想法?

回答

1

您可以用!操作中排除:

find . -type f ! \(-path "./dir1-1/test1" -o -path "./dir1-2/test5" \) 

注意,我們硬編碼從.的excludee路徑。所以如果你從另一個地方執行它,你需要添加相應的路徑。或者,更好地,使用如下完整路徑:

find /your/path/ -type f ! \(-path "/your/path/dir1-1/test1" -o -path "/your/path/dir1-2/test5" \) 
相關問題