我们公司的项目包括各种文件。很多时候,有必要搜索除少数文件类型之外的所有文件类型。有没有办法在搜索*.*
文件搜索时排除某些扩展名。
我所知道的一种方法是通过资源过滤器来实现,但这些排除是永久性的。我想要的是搜索*.*
,同时即时删除说*.jsp
或*.sql
或*.cpp
个文件。
谢谢, 罗恩
答案 0 :(得分:3)
您没有提及 您正在执行搜索的方式。就个人而言,我对Unix命令行非常熟悉,所以我发现在Eclipse工作区的目录中打开几个终端总是很方便。
在shell命令行上,使用find
和sort
显示当前目录下的所有文件:
$ find -type f | sort
./a/a0.txt
./a/a1.doc
./b/b0.rtf
./b/b1.cpp
./b/b2.jsp
./c/c0.jsp
./c/c1.sql
./c/c2.cpp
显示除*.cpp
匹配的文件以外的所有文件:
$ find -type f ! -name '*.cpp' | sort
./a/a0.txt
./a/a1.doc
./b/b0.rtf
./b/b2.jsp
./c/c0.jsp
./c/c1.sql
显示除*.cpp
或*.jsp
匹配的文件以外的所有文件:
$ find -type f ! -name '*.cpp' ! -name '*.jsp' | sort
./a/a0.txt
./a/a1.doc
./b/b0.rtf
./c/c1.sql
显示与?1.*
匹配的所有文件,但匹配*.sql
的文件除外:
$ find -type f -name '?1.*' ! -name '*.sql' | sort
./a/a1.doc
./b/b1.cpp
find
是用于文件搜索的标准Unix命令行实用程序。不幸的是,虽然它的一些选项是标准化的,但其他类似的Unix类操作系统却不同。您可能应该查看其手册页(man find
),以找出您的find
版本接受的选项。我链接到的手册页是GNU find,这是大多数(所有?)Linux发行版附带的。
如果您使用Eclipse本身执行搜索,则可以执行以下操作:
Search
File
File Search
对话框Choose
文本框File name patterns
按钮
Select all
- 然后删除您要排除的扩展程序的复选标记,确保排除*.*
File name patterns
文本框Search
,系统会显示包含搜索结果的新视图免责声明:这是在Eclipse 3.7.1
上此方法似乎没有使用find
那么强大,但它提供了与Eclipse更好的集成。