• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > 批处理入门手册之批处理常用DOS命令篇(find findstr)

批处理入门手册之批处理常用DOS命令篇(find findstr)

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了dos findstr,findstr,findstr.exe,findstr.exe下载,findstr用法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1.4 学习 find  findstr 命令

学习要点:
1.字符串查找:find
2.字符串查找增强:findstr

一.字符串查找:find

在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

  /V        显示所有未包含指定字符串的行。
  /C        仅显示包含字符串的行数。
  /N        显示行号。
  /I        搜索字符串时忽略大小写。
  /OFF[LINE] 不要跳过具有脱机属性集的文件。
  "string"   指定要搜索的文字串,
  [drive:][path]filename   指定要搜索的文件。


基本格式:find "要查找的字符串" 要查找的文件(不在当前目录则需要给出完整路径)

例1
find "abc" d:\abc.txt
在abc.txt中查找字符串abc的行。


/I 搜索字符串时忽略大小写。

例2
find /i "abc" d:\abc.txt
参数/i代表的是“Ignore”(忽略),也就是忽略大小写。通过/I 参数可以不区分要查找的字符串“abc”的大小写。


/N 显示行号。

例3
find /n "abc" d:\abc.txt
参数/n代表英语单词“Number”(号码).。通过/n参数我们可以查找到字符串"abc"所在的行号。


/C 仅显示包含字符串的行数。

例4
find /c "abc" d:\abc.txt
参数/c是英语单词“Count”(计数)的缩写。通过/c参数我们可以统计包含"abc"字符串的行数。


/V  显示所有未包含指定字符串的行。

例5
find /v "abc" d:\abc.txt
这个参数用于找出文件中不包含指定字符串的行。在这里表示查找不包含"abc"字符串的行。

注意:find命令中要查找的字符串一字要用双引号" "括起来。

二.字符串查找增强:findstr

在文件中寻找字符串。
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/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   从指定的文件获得搜索字符串。 (/ 代表控制台)。
  /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"。


1.基本格式:findstr " strings " [drive:][path]filename

Strings  是要查找的内容。
[rive:][path]filename  指定要查找的文件,路径可缺省,缺省情况下为当前目录。

例1
findstr "icq" 123.txt
在123.txt中查找包含有“icq”这三个字符串的行。


/I  指定搜索不分大小写。

例2
findstr /i "MSN" 123.txt
在123.txt中查找包含有“MSN”这三个字符的行,且不区分大小写。


★/R 将搜索字符串作为正则表达式使用。参数/R 强调以正则表达式规则来解读字符串。R - Right 右即为正。我们
都说右手是正手,因此引申为右为正,左为反。

例3
findstr /r "icq msn" 123.txt
在123.txt中查找包含有 “icq”或“msn”的行,查找的多个字符串间用空格隔格开。


 /S 在当前目录和所有子目录中搜索。

例4
findstr /s /i "MSN" *.txt
在当前目录和所有子目录中的txt文件中搜索字符串"MSN"(不区分字母大小写)。


/C:string 使用指定字符串作为文字搜索字符串。

例5
findstr /c:"icq msn" 123.txt
在123.txt中查找包含有 “icq msn”这几个字符的行。注意,这里“icq msn”是一整体的。
此参数多用于查找含有空格的字符串。


★在使用 findstr "我 你 他" test.txt 的时候,并不能查找到内容,但是,加上开关 /i 或者 /r 之后就正确无误
了,可能是在查找多个纯中文字符串的时候的一个bug吧;单个的纯中文字符串没有任何问题。

2.findstr 命令中正则表达式的用法规则

一般表达式的快速参考:
  .        通配符: 任何字符
  *        重复: 以前字符或类别出现零或零以上次数
  ^        行位置: 行的开始
  $        行位置: 行的终点
  [class]  字符类别: 任何在字符集中的字符
  [^class] 补字符类别: 任何不在字符集中的字符
  [x-y]    范围: 在指定范围内的任何字符
  \x       Escape: 元字符 x 的文字用法
  \<xyz    字位置: 字的开始
  xyz\>    字位置: 字的结束


● 通配符和重复符规则,即 . 和 *
通配符,即一个句点,代表任何一个字符,而且只能是一个,包括字母、数字、半角符号还有空格。
重复符,即型号* 代表前面字母的出现次数(出现次数从0到多次,0表示没有)。

findstr . 123.txt 或 findstr "." 123.txt
在文件123.txt中查找任意字符,不包括空行。

例6
findstr .* 2.txt 或 findstr ".*" 2.txt
在文件123.txt中查找任意字符,包括空行。

例7
findstr ac* 123.txt
在文件123.txt中查找出现一个“a”字符串,以及a后面出现过0次或者任意次c的字符行。
如:
a
ac
acc
addc
等都匹配。

例8
findstr ak5* 123.txt
在文件123.txt中查找出现一个“ak”字符串,以及ak后面出现过0次或者任意次5的字符行。如:
ak
ak5
akbbb
ak125
ak555
等都匹配。


●行首、行尾符规则,即 ^ 和 $

例9
findstr "^step" 123.txt
在文件123.txt中查找行首为step字符串的行。
如:
stepkdka
step 456
这两行都匹配的。

例10
findstr "step$" 123.txt
在文件123.txt中查找行尾为step字符串的行。
如:
123 dstep
123step
这两行也匹配的。

例11
findstr "^step$" 123.txt
在文件123.txt中查找行首为step,且行尾也为step的行,即step独自一行。


● 字符集规则,即[class]
①表示含有集里的任意一个字符的即匹配。
②该字符集里的元素可以是字母和数字和一般的半角字符,如:}{ ,.][等,但双引号"不被识别。不能是汉字, 汉字
不被正确解释(汉字不是ASCII码)。
如果在字符集内插入通配符和重复符号,即"[.*]"将会把. 和 *视为普通字符,没有通配和重复的含义。

例12
findstr "[0-9]" 123.txt
在文件123.txt中查找数字0-9的任意之一的行。
如:
4kkb
1 lkka cc
这两行都匹配。

例13
fi

您可能想查找下面的文章:

  • 批处理入门手册之批处理常用DOS命令篇(find findstr)

相关文章

  • 通过批处理实现删除运行、查找等处的历史记录的代码
  • 批量列出所有文件名的批处理
  • BAT 特殊符号总结
  • DOS批处理文件
  • 记录每次进入3389远程桌面IP的批处理bat
  • BAT 解密工具
  • DOS命令全集(一)
  • cmd del命令 文件删除
  • ECHO 不换行实现方法
  • bat下产生指定范围随机数字的实现方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 迅雷快车旋风下载专用链转换批处理代码
    • cd命令 目录跳转
    • dos 删除文件夹 rd
    • 出给新手的数值排序加分题
    • 批处理提取不同行上的内容的代码
    • 批处理将文件侠内的文件名导入表格对应名称中
    • 用dsadd添加用户的代码
    • 可以查杀sxs.exe的bat(批处理)文件
    • Prompt、Restore命令使用说明
    • 以后经常需要知道CMD/DOS下符号的作用参考,正好发现了这篇

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有