最后更新:2012-01-19, Ver 2.3.3.0119
- 在文件中查找匹配的字符串
|
2012-01-19, Ver 2.3.3.0119
2010-02-16, Ver 2.3.2.0216
2009-12-13, Ver 2.3.1.1213
2009-03-12, Ver 2.3.0.0312
2008-09-21, Ver 2.2.1.0921
2008-09-09, Ver 2.1.4.0909
2008-09-08, Ver 2.1.3.0908
2008-08-16, Ver 2.1.2.715
2006-07-28, Ver 2.0.5.728
|
|
C:\Documents and Settings\Administrator> #f =============================================================================== find Ver 2.3.3.0119 by BaiYang / 2004 - 2012, 免费软件 http://baiy.cn =============================================================================== 在文件中匹配字符串 用法: f [文件通配符1 文件通配符2 ...] <查找选项>:<匹配串> [其它选项] =============================================================================== 查找选项: -f: - 匹配精确串 -fic: - 匹配精确串(忽略大小写) -r: - 正则表达式匹配 -ric: - 正则表达式匹配(忽略大小写) -rnnl: - 跨行正则匹配 -rnnlic: - 跨行正则匹配(忽略大小写) -l:nnn-mmm - 匹配从 'nnn' 行开始,直到 'mmm' 行的所有内容。如果 '-mmm' 被忽略 则从 'nnn' 行开始一直匹配到文件结束 =============================================================================== 其它选项: -s - 包含子目录 -stdin - 从标准输入设备获得要查找的内容(如果未指定任何文件模板的话,则自动 启用该选项 -o: - 指定输出格式,以下关键字: f 文件名(相对路径) F 文件名(绝对路径) o 匹配起始处在行中的字符偏移 x 匹配起始处在行中的字符偏移(十六进制) b 匹配起始处在行中的字节偏移 s 匹配串的字符长度 S 匹配串的字节长度 O 匹配起始处在整个文件中的字符偏移 X 匹配起始处在整个文件中的字符偏移(十六进制) B 匹配起始处在整个文件中的字节偏移 l 行号 c 行的内容 C 整个文件的内容 k 精确地输出匹配的文本块,包含多行匹配的所有内容 t 制表符(Tab) r 回车符 n 换行符 默认格式: 普通模式时:'f:l:c'(文件相对路径:行:行内容); 使用 -stdin 选项时:'c';使用 -l: 匹配时:'k' -of: - 仅列出匹配的文件,该选项使 “-o:” 选项无效,关键字为: f 文件名(相对路径) F 文件名(绝对路径) 默认值: 如果使用 "-of" 时,未指定任何关键字,默认列出相对路径 -co - 使用紧凑输出模式:对同一行中的多次匹配结果,仅输出一次。 -fmc - 列出每个文件的匹配计数 -tmc - 列出总匹配计数 -format: - 指定文件换行符格式,可以是:"auto", "dos", "unix" 或 "mac" 默认: auto(自动) -unicode - 使 find 将输入文件按 unicode (utf-16) 格式进行解析 默认: 按 ANSI/MBCS 编码进行解析 -errstop - 当遇到文件或子目录访问错误时,终止搜索任务。 默认: 遇到无法访问的子目录访跳过;遇到无法访问的文件时,打印错误 信息并继续 =============================================================================== POSIX 和 Perl 风格的正则表达式: - "find" 完整支持 POSIX.2 扩展标准及 Perl 风格的正则表达式。 以下是支持的字符类及其对应关系: POSIX perl 描述 -------------------------------------------------------------------- [:alnum:] 字母和数字 [:alpha:] \a 字母 [:lower:] \l 小写字母 [:upper:] \u 大写字母 [:blank:] 空格和制表符 [:space:] \s 空白字符 [:cntrl:] 控制字符 [:digit:] \d 十进制数字 [:xdigit:] \x 十六进制数字 [:graph:] 可打印字符(不包括空白符) [:print:] \p 可打印字符(包括空白符) [:punct:] 标点符号 - 以下是一些 perl 的特殊字符类: perl POSIX等效 描述 -------------------------------------------------------------------- \o [0-7] 八进制数字 \O [^0-7] 非八进制数字 \w [[:alnum:]_] 单词组成 \W [^[:alnum:]_] 非单词组成 \A [^[:alpha:]] 非字母 \L [^[:lower:]] 非小写字母 \U [^[:upper:]] 非大写字母 \S [^[:space:]] 非空白符 \D [^[:digit:]] 非十进制数字 \X [^[:xdigit:]] 非十六进制数字 \P [^[:print:]] 非可打印字符 \< [^[:alpha:]_] 单词开始 \> [^[:alnum:]_] 单词结束 - 注意: posix 字符类是必须工作在集合中的(“[”和“]”内)。相反,perl 风格 的字符类是工作在集合运算之外的。 - 此外,为了便于在命令行输入一些特殊字符,特别定义了一下别名: perl风格 POSIX风格 描述 ----------------------------------------------------------------------- \" [:dq:] 双引号 \' [:sq:] 单引号 \t [:tb:] 制表符 \n [:nl:] 换行符 (0x0A) \r [:rt:] 回车符 (0x0D) \b [:bs:] 退格符 =============================================================================== TCL 8.2 兼容的高级正则表达式(ARE) - 为 -r:, -ric:, -rnnl:, -rnnlic: 等命令添加 '***:' 前缀即可开启高级正则表达 式功能。ARE 提供了比 POSIX ERE/BRE 更为强大的正则匹配语法,并且使用一套自定 义的字符类。有关 ARE 的详细信息,请访问: http://baiy.cn/utils/_regex_doc/index.htm =============================================================================== 返回码: -1 - 搜索时发生错误 0 - 搜索成功(发现匹配) 1 - 搜索失败(未发现匹配) =============================================================================== 开关的前缀和后缀: * 所有命令行开关(选项)都是大小写无关的(如: "-fic:" 和 "-FIC:") * 开关的前缀可以是 "-" 或 "/"(如: "/s" 和 "-s") * 开关的后缀可以是 ":" 或 "="(如: "/f:", "/f=", "-f:" 和 "-f=" 等效) =============================================================================== 应用示例: f *.txt *.htm -f:something f *.cpp *.hpp *.c *.h -fic:myfunc -o:"[F]:[l]:[o]nc" f *.cpp *.h -r:"***:#define.*?MY_DEF" type myfile.txt | f -f:BaiYang expand -d *.cab | f -f:gdi32.dll |
C:\Documents and Settings\Administrator> #f |
安装步骤:
注意事项:
|
f.rar (Windows/DOS,DOS
下使用需要 HXDOS 环境支持) f_linux_x86.zip (在 Ubuntu 8.04 上测试通过) f_linux_x64.zip (在 Ubuntu 8.04 上测试通过) f_freebsd_x64.zip(在 FreeBSD 7.0 上测试通过) f_netbsd_x86.zip (在 NetBSD 5.0.1 上测试通过) f_solaris_x86.zip(在 OpenSolaris 2009.06 上测试通过) |