野外卡在日食中搜索

时间:2011-12-09 10:24:28

标签: eclipse unix

我们公司的项目包括各种文件。很多时候,有必要搜索除少数文件类型之外的所有文件类型。有没有办法在搜索*.*文件搜索时排除某些扩展名。

我所知道的一种方法是通过资源过滤器来实现,但这些排除是永久性的。我想要的是搜索*.*,同时即时删除说*.jsp*.sql*.cpp个文件。

谢谢, 罗恩

1 个答案:

答案 0 :(得分:3)

您没有提及 您正在执行搜索的方式。就个人而言,我对Unix命令行非常熟悉,所以我发现在Eclipse工作区的目录中打开几个终端总是很方便。

在shell命令行上,使用findsort显示当前目录下的所有文件:

$ 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本身执行搜索,则可以执行以下操作:

  1. 点击菜单栏中的Search
  2. 选择File
  3. 将弹出File Search对话框
  4. 点击Choose文本框
  5. 旁边的File name patterns按钮
  6. 点击Select all - 然后删除您要排除的扩展程序的复选标记,确保排除*.*
  7. 模式列表将显示在File name patterns文本框
  8. 点击Search,系统会显示包含搜索结果的新视图
  9. 免责声明:这是在Eclipse 3.7.1

    此方法似乎没有使用find那么强大,但它提供了与Eclipse更好的集成。