写点什么

PNFind 文件搜索器

用户头像
Geek_6bf591
关注
发布于: 2 小时前

1、界面概述 PNFinder 界面如下图 1 所示主要分成 Title, Menu, Button, PNTree, PNPreview, Result 和 Status 这几个区域。Title 区域用来显示当前查看的文件全路径。Menu 区域有 File, Edit, View, Finder, Tool 和 Help 菜单,File 菜单用来选择搜索目录的根节点,打开 PNTree 和 PNEdit 以及文件的保存和界面退出,Edit 菜单可以对打开的文件做一些简单的编辑,View 菜单用来设置文件的颜色/字体/参数/语法,Finder 菜单用来设置/清除/导出/搜索/替换/跳转等操作,Tool 菜单用来打开查看系统信息(System Information)、文件加解密(Encrypt/Decrypt)、文件分解和合并(Split/Join)以及文件列表打印(Directory Print)这几个小工具,Help 菜单用来打开用户手册、查看版本信息。Button 区域有 File, Edit, Search, Finder, Review, Tool 和 Help 按钮,其功能和菜单栏中对应的类似。PNTree 区域显示当前搜索的目录结构。PNPreview 区域显示在当前目录下查看的文件内容。Result 区域显示当前搜索的结果列表。Status 区域主要显示当前目录结构中查看的文件状态信息。


图 1 PNFinder 窗口各区域


     在PNFinder界面菜单栏中Finder项下拉菜单如下图2所示,有Setting, Clear, Export, Start, Replace All, Goto Select和Replace Select这几项。Setting项点开会打开搜索和替换的设置界面;Clear项点击会将当前搜索结果从结果列表中清除掉;Export项点开会将当前搜索结果保存到一个文件中;Start项点击会根据设置的搜索条件直接开始搜索;Replace All项点击会根据设置的搜索和替换条件将全部匹配的项做替换;Goto Select项点击会根据搜索结果列表中选择的项跳转到对应的文件在目录树上展开到该节点并在预览的界面中打开该文件且光标跳至该项的行首;Replace Select项点击会根据设置的搜索和替换条件将在搜索结果列表中选择的项做替换。
复制代码


图 2 PNFinder 搜索控制菜单


     在PNFinder界面按钮中Finder和Review项如下图3所示,按钮 点击打开搜索和替换设置界面;按钮 点击将当前搜索结果从结果列表中清除掉;按钮 点击将当前搜索结果保存到一个文件中;按钮 点击根据设置的搜索条件直接开始搜索;按钮 点击根据设置的搜索和替换条件开始将全部匹配的项做替换;输入框 用于输入和显示当前查看的搜索项;按钮 点击跳转到输入的项所在的文件在目录树上展开到该节点并在预览的界面中打开该文件且光标跳至该项的行首;按钮 点击根据设置的搜索和替换条件将输入的项做替换;
复制代码


图 3 PNFinder 搜索控制按钮


     在PNFinder界面结果区域中鼠标右键会弹出菜单如下图2所示,有Goto Select, Replace Select, Export, Full Path和Remove Full Path这几项。Goto Select项点击会根据搜索结果列表中选择的项跳转到对应的文件在目录树上展开到该节点并在预览的界面中打开该文件且光标跳至该项的行首;Replace Select项点击会根据设置的搜索和替换条件将在搜索结果列表中选择的项做替换;Export项点开会将当前搜索结果保存到一个文件中;Full Path项点击会将结果列表中的Directory列文件名显示全路径;Remove Full Path项点击会将结果列表中的Directory列文件名仅显示文件名;
复制代码


图 4 PNFinder 搜索查看菜单


2、多模式可配置的文件搜索对于文件的搜索和替换有多种配置的方式如下图 5 所示,其中”Expression”区域用于设置搜索和替换的关键字和表达式以及搜索这些关键字和表达式的方式。”Filter”区域用于设置搜索的文件和文件夹类型,文件名关键字过滤,目录创建者,目录访问权限,目录创建时间以及目录的存储大小。”Select”区域有”Scope”和”Customized”这两个模式用于设置搜索的目录范围。


图 5 PNFinder 搜索和替换设置窗口


2.1、搜索表达式在”Expression”区域中用于设置搜索有”Normal”和”Regex”这两种模式。在”Normal”模式中有”Ignore Case”和”Whole Word”这两个勾选项。在”Regex”模式中有”I”, ”S”和”R”这三个勾选项。Normal 模式缺省,如下图 6 所示是一个在”Normal”模式缺省下做的一个搜索例子,在该例子中设置了对单个文件”test_expression.tcl”做关键字为”set”的搜索,共找到有 5 个匹配项,分别为第一行的”set”,第二行的”set$”,第三行的”setting”,第四行的”set.xy”以及第六行的”-set]”。


图 6 PNFinder 搜索表达式设置示例 1Normal 模式忽略大小写,如下图 7 所示是一个在”Normal”模式选择了”Ignore Case”忽略大小写的情况下做的一个搜索例子,在该例子中设置了对单个文件”test_expression.tcl”做关键字为”set”的搜索,共找到有 6 个匹配项,分别为第一行的”set”,第二行的”set$”,第三行的”setting”,第四行的”set.xy” ,第五行的”SET”以及第六行的”-set]”。这里选择了忽略大小写,因此第五行大写的”SET”也被匹配到了。


图 7 PNFinder 搜索表达式设置示例 2


     Normal模式完整字,如下图8所示是一个在”Normal”模式缺省下选择了”Whole Word”区分完整字的情况下做的一个搜索例子,在该例子中设置了对单个文件”test_expression.tcl”做关键字为”set”的搜索,共找到有4个匹配项,分别为第一行的”set”,第二行的”set$”,第四行的”set.xy”以及第六行的”-set]”。这里选择了区分完整字,因此第三行的”setting”非完整字被去除掉了。
复制代码


图 8 PNFinder 搜索表达式设置示例 3


     Regex模式点通配,如下图9所示是一个在”Regex”模式下选择了”S”点通配做的一个搜索例子,在该例子中设置了对单个文件”test_expression.tcl”做关键字为”set.”的搜索,共找到有4个匹配项,分别为第二行的”set$”,第三行的”setting”,第四行的”set.xy”以及第六行的”-set]”。这里选择了点通配,因此在”set”后面的所有字符都能够被匹配到。
复制代码


图 9 PNFinder 搜索表达式设置示例 4


    Regex模式字符区分,如下图10所示是一个在”Regex”模式下选择了”R”字符区分做的一个搜索例子,在该例子中设置了对单个文件”test_expression.tcl”做关键字为”set.”的搜索,共找到有1个匹配项,即第四行的”set.xy”。这里选择了字符区分,因此在”set”后面的只有对应是”.”字符才能够被匹配到。
复制代码


图 10 PNFinder 搜索表达式设置示例 5


2.2、文件属性过滤在”Filter”区域中用于设置搜索有”File Only”, ”Folder Only”和”File Folder”这三种模式,其分别用于搜索对象的控制为纯文件的搜索,纯文件夹的搜索以及文件和文件夹一起搜索。在属性过滤时有”Name”, ”Owner”, ”Access”, ”Time”和”Size”这五个勾选项。文件名过滤,如下图 11 所示是一个勾选”Name”做文件名过滤的一个搜索例子,在该例子中设置了对目录”/home”下全层次,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件(文件名输入框为空白时则匹配所有文件),关键字为”set”的搜索,共找到有 4878 个匹配项。


图 11 PNFinder 搜索文件属性过滤设置示例 1


     文件创建者过滤,如下图12所示勾选了”Name”和”Owner”做文件名和创建者过滤的一个搜索例子,在该例子中设置了对目录”/home”下全层次,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件以及创建者为”root”的文件,关键字为”set”的搜索,共找到有4727个匹配项。这里勾选了创建者过滤,因此在同一个目录下相同文件名和相同关键字的搜索会少掉一部分不属于该”root”创建者的文件。
复制代码


图 12 PNFinder 搜索文件属性过滤设置示例 2


     文件访问权限过滤,如下图13所示勾选了”Name”和”Access”做文件名和访问权限过滤的一个搜索例子,在该例子中设置了对目录”/home”下全层次,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件以及访问权限为”rw”的文件,关键字为”set”的搜索,共找到有4628个匹配项。这里勾选了访问权限过滤,因此在同一个目录下相同文件名和相同关键字的搜索会少掉一部分不属于”rw”访问权限的文件。
复制代码


图 13 PNFinder 搜索文件属性过滤设置示例 3


     文件时间过滤,如下图14所示勾选了”Name”和”Time”做文件名和时间过滤的一个搜索例子,在该例子中设置了对目录”/home”下全层次,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件以及时间为”2020-01-01”至”2020-12-31”的文件,关键字为”set”的搜索,共找到有998个匹配项。这里勾选了时间过滤,因此在同一个目录下相同文件名和相同关键字的搜索会少掉一部分不属于”2020-01-01”至”2020-12-31”期间的文件。
复制代码


图 14 PNFinder 搜索文件属性过滤设置示例 4


     文件存储大小过滤,如下图15所示勾选了”Name”和”Size”做文件名和存储大小过滤的一个搜索例子,在该例子中设置了对目录”/home”下全层次,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件以及存储大小为”1000”至”10000”的文件,关键字为”set”的搜索,共找到有1511个匹配项。这里勾选了存储大小过滤,因此在同一个目录下相同文件名和相同关键字的搜索会少掉一部分不属于”1000”至”10000”存储大小的文件。
复制代码


图 15 PNFinder 搜索文件属性过滤设置示例 5


2.3、目录模式设置在”Select”区域中有”Scope Mode”和”Customized Mode”这两种选择模式。在”Scope Mode”选择模式中有一个选择”Scope”目录结构的按钮 ,点开可以选择当前需要搜索的根目录节点,点击确认后该根目录节点会同时显示在输入框中(也可以在输入框中直接输入根目录节点),在”Scope”的层次选择时有”Level All”, ”Level 1”, ”Level 1-?”和”Level ?”这四个单选项。在”Customized Mode”选择模式中有一个选择记录搜索目录列表文件的按钮 ,点开可以找到对应的文件,点击确认后该文件会同时显示在输入框中(也可以在输入框中直接输入该文件的全路径),在”Customized Mode”选择模式有”Load”, ”Add”, ”Delete”和”Empty”这四个按钮。Scope Level 1 模式,如下图 16 所示设置了”Scope Mode”选择模式,在该例子中设置了对目录”/home”下做”Level 1”即当前根目录节点下第 1 层,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件,关键字为”set”的搜索,共找到有 0 个匹配项,在搜索结果为 0 时会弹出一个告警对话框用于提示未发现匹配项。这里目录层次选择的是”Level 1”,同一个目录下相同文件名和相同关键字在当前根目录下第 1 层做搜索时不会对根目录节点第 2 层之后所有的节点再做搜索。


图 16 PNFinder 搜索目录模式设置示例 1


     Scope Level 1-? 模式,如下图17所示设置了”Scope Mode”选择模式,在该例子中设置了对目录”/home”下做”Level 1-5”即当前根目录节点下第1-5层,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件,关键字为”set”的搜索,共找到有618个匹配项。这里目录层次选择的是”Level 1-5”,同一个目录下相同文件名和相同关键字在当前根目录下第1-5层做搜索时不会对根目录节点第6层之后的节点再做搜索。
复制代码


图 17 PNFinder 搜索目录模式设置示例 2


     Scope Level ? 模式,如下图18所示设置了”Scope Mode”选择模式,在该例子中设置了对目录”/home”下做”Level 8”即当前根目录节点下第8层,文件名过滤”*.tcl”即通配所有文件名结尾为”.tcl”的文件,关键字为”set”的搜索,共找到有713个匹配项。这里目录层次选择的是”Level 8”,同一个目录下相同文件名和相同关键字在当前根目录下第8层做搜索时不会对根目录节点第1-7层和第9层之后的节点再做搜索。
复制代码


图 18 PNFinder 搜索目录模式设置示例 3


     Customized 模式,如下图18所示设置了”Customized Mode”选择模式,该模式选择之后对应”Filter”文件属性过滤功能会被禁止,会在对应目录列表文件中做”Expression”设置的关键字搜素。在该例子中设置了搜索目录列表文件件”/home/test/test_case/script/finder_test/finder_customized.list”,点击”Load”按钮之后会将该文件中所有合法的目录路径都加载到目录列表框中共22个目录(按钮”Add”可以对加载的目录列表做增加一条目录操作,按钮”Delete”可以对加载的目录列表做减少一条目录操作,按钮”Empty”可以对加载的目录列表做清空所有目录操作),关键字为”set”的搜索,共找到有1487个匹配项。
复制代码


图 19 PNFinder 搜索目录模式设置示例 4


3、文件搜索结果的查看 PNFinder 在搜索完成之后会将其结果显示在搜索结果列表中如下图 20 所示,在该列表的上方对应有”Number”, “Directory”, “Line”和”Content”这四个列项。其中”Number”这一列用于显示当前搜索匹配项的编号;”Directory”这一列用于显示当前搜索匹配项所在的文件名(文件名显示有单独文件名或文件的全路径名,这可以通过图 4 搜索查看菜单中的”Full Path”和”Remove Full Path”项控制),以及关键字在该文件中匹配的总数和所在该文件中的编号;”Line”这一列用于显示当前项关键字在文件中匹配所在的行号,”Content”这一列用于显示当前项关键字在文件中匹配所在的行内容。在该列表右下方会显示当前搜索结果的数量,结果在列表中是按页显示的,每页最多 100 个搜索项,在查看时可以在”Page”中先找到对应的页号即可在结果列表中显示该页的项,按钮 用于向前翻一页显示前页的结果,按钮 用于向后翻一页显示后页的结果。


图 20 PNFinder 搜索结果查看


     搜索结果跳转,对于搜索结果查看其文件中详细内容时可以在结果列表中双击该项即可将该项所在的文件在“PNTree”区域目录结构树展开并将其高亮,同时在“PNPreview”区域中打开该文件并跳至该项匹配的行首。同时“Goto”操作还可以通过图2搜索控制菜单中的“Goto Select”项,图3中搜索控制按钮中的 按钮和图4搜索查看菜单中的“Goto Select”项这几个方式来实现搜索结果跳转的功能。这里“Goto”操作由于跳转显示界面只有一个,因此一次仅可以选择一个结果项做跳转。     搜索结果替换,对于搜索结果替换时可以通过图2搜索控制菜单中的“Replace Select”项将搜索匹配到的关键字在对应的文件中将其修改替换成在设置界面中“Expression”区域中“Replace”输入框中的替换内容。同时“Replace”操作还可以图3中搜索控制按钮中的 按钮和图4搜索查看菜单中的“Goto Select”项这几个方式来实现搜索结果替换的功能。这里“Replace”操作不需要打开显示界面,因此一次仅可以选择多个匹配项做替换操作。
复制代码


4、文件搜索结果的导出 PNFinder 在搜索完成之后会还可以将其结果导出成文件如下图 21 和图 22 所示,其中图 21 是将搜索结果列表中“Directory”列显示单独文件名的形式导出的文件,图 22 是将搜索结果列表中“Directory”列显示文件的全路径名的形式导出的文件。在该文件中开头部分会记录导出时间,导出的文件全路径名以及搜索匹配项的总数。在该文件中的第 8 行记录了”Number”, “Directory”, “Line”和”Content”这四个列项名,第 9 行用间隔线将列项名和列内容做分隔,第 10 行至文件结尾按行分别记录每个匹配项的详细内容。


图 21 PNFinder 搜索结果导出示例 1


图 22 PNFinder 搜索结果导出示例 2

用户头像

Geek_6bf591

关注

还未添加个人签名 2021.07.19 加入

还未添加个人简介

评论

发布
暂无评论
PNFind文件搜索器