网站首页 > 技术文章 正文
两个都是搜索字符串,但findstr比find强大多了,find一看就明白,以下主要介绍findstr。虽说功能强大,但与汉字结合使用通配符时问题不少。
find :
作用:在文件中搜索字符串。
格式:FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
- /V 显示所有未包含指定字符串的行。
- /C 仅显示包含字符串的行数。
- /N 显示行号。
- /I 搜索字符串时忽略大小写。
- /OFF[LINE] 不要跳过具有脱机属性集的文件。
- "string" 指定要搜索的文本字符串。
- [drive:][path]filename 指定要搜索的文件。
如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。
注意:find要搜索的字符串要加双引号,没有搜索通配符功能
findstr :
作用:在文件中寻找字符串。
格式:FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ ...]]
- /B 在一行的开始配对模式。
- /E 在一行的结尾配对模式。
- /L 按字使用搜索字符串。
- /R 将搜索字符串作为一般表达式使用(作正则表达式)。
- /S 在当前目录和所有子目录中搜索匹配文件。
- /I 指定搜索不分大小写。
- /X 打印完全匹配的行。
- /V 只打印不包含匹配的行。
- /N 在匹配的每行前打印行数。
- /M 如果文件含有匹配项,只打印其文件名。
- /O 在每个匹配行前打印字符偏移量。
- /P 忽略有不可打印字符的文件。
- /OFF[LINE] 不跳过带有脱机属性集的文件。
- /A:attr 指定有十六进位数字的颜色属性。请见 "color /?"
- /F:file 从指定文件读文件列表 (/ 代表控制台)。
- /C:string 使用指定字符串作为文字搜索字符串。
- /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。
在文件subFileSearch.txt里查找/G:file指定的文件subFile.txt里的关键行(按行查)
- /D:dir 查找以分号为分隔符的目录列表
- strings 要查找的文字。
- [drive:][path]filename 指定要查找的文件。
除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或"there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 寻找"hello there"。
一般表达式的快速参考:
- . 通配符: 任何一个字符,不管前面后面都必须匹配一个字符。
- * 重复: 用在字符之后,字符或类之后出现零或零以上次数
- ^ 行位置: 行的开始
- $ 行位置: 行的终点
- [class] 字符类: 只要任意一个字符在字符集中。不能是汉字、双引号
- [^class] 补字符类: 任何不在字符集中的字符
- [x-y] 范围: 在指定范围内的任何字符
- \x Escape: 元字符 x 的文字用法
- \<xyz 字位置: 一行中以xyz开始
- xyz\> 字位置: 一行中以xyz的结束
- \<xyz\> 精确查找xyz
有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
对 比:
- find搜索的字符串要加双引号,findstr可不加。
- find不能加通配符搜索,findstr可以。
- find不支持正则表达式,findstr默认用正则表达式。
特殊说明 :
坑一:“我们”在字符串里,但没查到
原因:可能是汉字与字母混用时的一个BUG
解决:加个/i或/r开关,最好先用/i
坑二:两个汉字间用“.”代表一个汉字时查不到
原因:汉字是双字节的,而“.”只代表一个字符。dir中的“?”也代表一个字符,但没这样的问题
解决:再加一个“.”或“*”
坑三:“.*”代表了“们伟大”三个字?但用“*.”代替却不行
坑四:开关“/r”与两个“*”,即“**”,同用时会显示“findstr:没有搜索字符串”的错误
坑五:有没有“*”好像结果都一样
猜你喜欢
- 2024-12-27 史上最全正则详解 正则的用法
- 2024-12-27 慎用正则表达式 使用正则表达式
- 2024-12-27 Java性能调优--代码篇:优化正则表达式的匹配效率
- 2024-12-27 详细介绍一下Python爬虫中的正则表达式匹配规则?
- 2024-12-27 Word中实例演示:高级查找与高级替换等....
- 2024-12-27 再杂也无惧 在Excel高效提取数字 excel如何提取出数字
- 2024-12-27 Linux下find与exec的联手干大事 linux find -newer
- 2024-12-27 Java中如何使用正则技术提取html中的任意内容
- 2024-12-27 一看就懂 | 30分钟入门正则表达式,看这一篇就够了(值得收藏)
- 2024-12-27 VBA如何找出工作表数据中的数字,简单到不用思考
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)