UNIX(AIX):如何列出不在列表中的目录中的所有文件
问题描述:
我正在寻找一种列出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
和实际命令将同时拥有数千个文件的排除列表和目录结构,因此性能有点问题。
任何想法?
答
您可以用!
操作中排除:
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" \)