1. find

在一个文件或多个文件中搜索指定的文本字符串。当搜索指定的文件后,find 将显示出包含指定字符串的所有行。

1.1. 语法及注释

find [/v] [/c] [/n] [/i] "string" [[Drive:][Path]FileName[...]]
  • /v
    显示所有不包含指定 string 的行。

  • /c
    计算包含指定 string 的行并显示总数。

  • /n
    将文件行号置于每行开头。

  • /i
    指定搜索不区分大小写。

  • "string"
    必需。指定要搜索的字符组。必须将 string 包含在引号之内(即,“string”)。

  • [Drive:][Path] FileName
    指定要在其中搜索指定字符串的文件的位置和名称。

  • /?
    在命令提示符显示帮助。

1.2. 用法

  • 指定字符串
    如果不使用 /i,find 将精确搜索指定的字符串。例如,find 命令认为字符“a”和“A”是不同的。但是,如果使用 /i,find 不区分大小写,并将“a”和“A”视为同一个字符。如果要搜索的字符串包含引号,必须对包含在字符串中的单引号用双引号引起来,即"StringContaining"“QuotationMarks”。

  • 将 find 用作筛选器
    如果省略文件名,find 将用作筛选器,从标准输入源(通常是键盘、管道或重定向的文件)得到输入,然后显示任何包含字符串的所有行。

  • 命令语法次序
    可以按任何顺序键入 find 命令的参数和命令行选项。

  • 使用通配符
    在用 find 命令指定的文件名或扩展名中不能使用通配符(* 和 ?)。要搜索使用通配符指定的一组文件中的字符串,可以在 for 命令中使用 find 命令。

  • 将 /v 或 /n 与 /c 一起使用
    如果在相同的命令行中指定 /c 和 /v ,find 将显示不包含指定字符串的行数。如果在相同的命令行中指定 /c 和 /n,find 将忽略 /n。

  • 在 find 中使用回车
    find 命令不能识别回车。当使用 find 在包含回车的文件中搜索文本时,必须将搜索字符串限制在可以在两个回车之间找到的文本,也就是不能被回车中断的字符串。例如,“tax”与“file”之间出现回车时,find 不会报告找到“tax file”字符串。

1.3. 示例

rem 在当前目录中的文件ben.txt中查找字符串"the pencil",并显示行号
find /n "the pencil" ben.txt
rem 字符串中包含引号,需要使用双引号
find "this is ""pencil""" ben.txt
rem 查找指定目录中的包含指定字符串的文件名
rem dir d:\test /b /s是显示指定目录中的所有文件然后通过|(管道号)将内容作为参数传递给find
dir d:\test /b /s | find ".exe"
rem 将结果输出到文件s.txt
find /n "the pencil" ben.txt > s.txt
rem <是重定向,可以重定向为管道、文件等,重定向为文件和指定文件作用相同。>将结果存在当前目录的s.txt中。
find /n "the pencil" < ben.txt > s.txt

2. findstr

find方法功能相对简单,如果需要更复杂的搜索,可以使用支持正则表达式的findstr。

2.1. 语法及注释

findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:file] [/f:file]
[/c:string] [/d:dirlist] [/a:ColorAttribute] [strings] [[Drive:][Path] FileName [...]]
  • /b
    如果位于行的开头则匹配模式。

  • /e
    如果位于行的末尾则匹配模式。

  • /l
    使用文字搜索字符串。

  • /r
    使用搜索串作为常规表达式。Findstr 将所有元字符解释为常规表达式,除非使用了 /l。

  • /s
    在当前目录和所有子目录中搜索匹配的文件。

  • /i
    指定搜索不区分大小写。

  • /x
    打印完全匹配的行。

  • /v
    只打印不包含匹配的行。

  • /n
    在每个匹配的行之前打印行号。

  • /m
    如果文件包含匹配项,仅打印该文件名。

  • /o
    在每次匹配行之前打印查找偏移量。

  • /p
    跳过包含非可打印字符的文件。

  • /offline
    利用脱机属性设置处理文件。

  • /f:file
    从指定文件中读取文件列表。

  • /c:string
    使用指定的文本作为文字搜索字符串。

  • /g:file
    从指定文件得到搜索字符串。

  • /d:dirlist
    搜索以逗号分隔的目录列表。

  • /a:ColorAttribute
    使用两个十六进制数指定颜色属性。

  • strings
    指定要在 FileName 中搜索的文本。

  • [Drive:][Path] FileName […]
    指定要搜索的文件。

  • /?
    在命令提示符显示帮助。

2.2. 用法

findstr支持正则表达式。
Findstr 可以在任何 ASCII 文件或文件中精确查找所要查找的文本。然而,有时要匹配的信息只有一部分或需要查找更宽广的信息范围。在这种情况下,findstr 具有使用常规表达式搜索各种文本的强大功能。
正则表达式是用于指定文本类型的符号,与精确的字符串相反。标记使用文字字符和元字符。每个在常规的表达式语法中没有特殊意义的字符都是文字字符,与出现的该字符匹配。例如,字母和数字是文字符号。元字符是在正则表达式语法中具有特殊意义(操作符或分隔符)的符号。
下表列出 findstr 接受的元字符。

字符
. 通配符:任何字符
* 重复:以前字符或类的零次或多次出现
^ 行位置:行的开始
$ 行位置:行的结尾
[class] 字符类:集合中任何一个字符
[^class] 反类:不在集合中的任何一个字符
[x-y] 范围:范围:指定范围内的任何字符
\x 取消:元字符 x 的文字用途
\<xyz 字位置:字首
xyz\> 字位置:字尾

2.3. 示例

rem 除非有前缀/C,请使用空格隔开搜索字符串,如果搜索hello或there
findstr "hello there" abc.txt
rem 在文件中搜索"hello there"
findstr /c:"hello there" abc.txt
rem 区分大小写,搜索Windows
findstr Windows abc.txt
findstr "Windows" abc.txt
rem 搜索当前目录及所有子目录中的每个文件
findstr /s Windows *.*
rem 搜索当前目录中所有txt文件中的包含"for"的所有行(前面可以有任意个字符包含空格)
findstr /n ".for" *.txt
rem 搜索指定文件中以for开头的字符串,将结果存在指定文件中
findstr /n "for*" a.txt > result.txt
rem 显示搜索的结果是否成功,0表示成功,1表示失败
echo %errorlevel%
rem 更多用法参考正则表达式

批处理之find和findstr相关推荐

  1. 常用批处理命令总结3之Find和FindStr

    原文:常用批处理命令总结3之Find和FindStr find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行 ...

  2. linux 注释批处理,Linux_批处理 正则表达式(findstr) 整理,语法 findstr [/b] [/e] [/l] [/r] [/s] - phpStudy...

    批处理 正则表达式(findstr) 整理 语法 findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offli ...

  3. 批处理---findstr命令详解

    在文件中寻找字符串. FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] ...

  4. 【WINDOWS / DOS 批处理】findstr、find命令对汉字的支持

    在WINDOWS / DOS 批处理编程中,使用findstr.find命令都可在文件中查找文本,但是它们对汉字的支持都存在如下"缺陷": 使用 findstr.find命令查找汉 ...

  5. 批处理 正则表达式(findstr) 整理

    http://www.jb51.net/article/17848.htm 语法 findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [ ...

  6. 常用批处理命令总结之Find和FindStr

    find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行. /C 仅显示包含字符串的行数. /N 显示行号. ...

  7. 批处理命令之find 和findstr

    find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行. /C 仅显示包含字符串的行数. /N 显示行号. ...

  8. c语言findstr 用法,常用批处理命令总结之Find和FindStr

    find 作用:从文件中收索字符串 格式:find 参数 "字符串" 路径\文件名 参数: /V 显示所有未包含指定字符串的行. /C 仅显示包含字符串的行数. /N 显示行号. ...

  9. 【WINDOWS / DOS 批处理】findstr命令之参数详解(一)

    目录 命令格式 命令功能 [filename参数] [/I参数] [/N参数] [/X参数] [/F:file参数] [/G:file参数] [strings和/C:string参数] [/R参数和/ ...

最新文章

  1. 通俗易懂的讲解区块链
  2. linux下字符串操作,Linux Bash 中字符串操作
  3. Xcode9学习笔记67 - 打印查看程序沙箱结构中常用的几个目录
  4. 第五部分 自定义的Calendar接口示例
  5. c语言练习书,谁有C语言入门的练习题?
  6. 使用SVN clang: error: linker command failed with exit code 1 (use -v to see invocation)
  7. Python基础函数学习笔记(二)
  8. GNN + Zero-shot
  9. 计算机显示程序错误,电脑老是提示应用程序错误怎么办
  10. linetv_linetv台湾版官方下载|line tv安卓版下载_v1.0.10_9ht安卓下载
  11. 三阶段最小二乘法 回归分析 3SLS python实现
  12. 城域网过渡技术之NAT64+DNS64
  13. Swiper实现手风琴式的图片展示
  14. pointer-events用法
  15. 美味冰皮月饼的做法 月饼的做法
  16. 主引导记录、启动扇区
  17. 微信 iPad 835协议
  18. php printer 使用,printer扩张的一些使用疑问
  19. matlab图像处理将两个目标合成一个,利用MATLAB实现医学图像处理与分析
  20. XMind中让分支显示在同一侧

热门文章

  1. 盒子滚动到底部有偏差 js_杭州连廊支座厂家销售,滚动铰支座_衡水安通
  2. linux 命令之 echo
  3. 见字如面,一切安好?
  4. 星巴克中国内地首家共享空间概念店上海开业;加拿大鹅将在哈尔滨南京宁波等地新设门店 | 美通社头条...
  5. 前端相关知识(html)
  6. 关于整除和取余的理解
  7. Udacity利用深度学习玩赛车小游戏
  8. php 匹配多个正则表达式,PHP 正则表达式函数库(两套)
  9. npm 报错 npm WARN lifecycle npm is using C:\Program Files\nodejs\node.exe but there is no node binary
  10. arm-linux-gcc编译x264