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

文件查找命令:dir | find ".txt"或dir | findstr “.txt”,意思查找该目录下所有txt文件;

一.文件或字符串查找:find
input:cmd窗口输入find/?(全英文状态下字符)
output:在文件中搜索字符串。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string” [[drive:][path]filename[ …]]

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

如果没有指定路径,FIND 将搜索在提示符处键入
的文本或者由另一命令产生的文本。

基本格式: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
input:findstr/?
output:在文件中寻找字符串。
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
findstr “[a-zA-Z]” 123.txt
在文件123.txt中查找包括任意字母行。

例14
findstr “[abcezy]” 2.txt
在文件123.txt中查找包括a b c e z y其中任意一字母的行。

例15
findstr “[a-fl-z]” 2.txt
在文件123.txt中查找小写字符a到f 或l到z的任意一字母的行,但不包含g h I j k这几个字母。

例16
findstr “M[abc][123]Y” 2.txt
在文件123.txt中查找可以匹配 Ma1Y , Mb1Y, Mc1Y; Ma2Y , Mb2Y, Mc2Y; Ma3Y , Mb3Y, Mc3Y的行。

● 减法规则,即[^class]

例17
findstr “[^0-9]” 123.txt
如果是纯数字的行便过滤掉,例如2323423423 这样的字符串被过滤,345hh888这样的形式则过滤不了。
注意,纯数字的行不能有空格,不论行首行尾或者是行中都不能有空格,否则过滤失败!

例18
findstr “[^a-z]” 123.txt
如果是纯字母的行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf 这样的字符将被过滤,如果是sdfksjdkf99999这样的形
式则过滤不了。
注意,纯字母的行不能有空格,不论行首行尾或者是行中都不能有空格,否则过滤失败!

例19
findstr “[^add]” 123.txt
过滤仅含有由a d d三个字母组成的纯字母字符串的行。
如:
a
ad
ddaadd
dd
这些行都会被过滤。
注意,仅含有由a d d三个字母组成的纯字母字符串的行不能有空格,不论行首行尾或者是行中都不能有空格,否则
过滤失败!

例20
findstr “[^echo]” 123.txt
过滤仅含有由e c h o 四个字母组成的纯字母字符串的行。
如:
e
c
ec
cho
chooo
这些行都会被过滤。

●单词前缀后缀定位规则,即<xyz和xyz>

该xyz只能是英文单词。符号 \ 理解为转义符,化解小于号和大于号的重定向命令含义。
该规则是匹配类似单个英文单词的。

例21
findstr “<echo” 123.txt
所有含有以echo为前缀的字符串的行,都匹配。
如:
echo:kkk a add
jjkk echo
这两行都匹配。
(思考:为什么jjkk echo也匹配?因为有空格。)

例22
findstr “echo>” 123.txt
所有含有以echo为后缀的字符串的行,都匹配。
如:
qq bbecho 这一行也匹配。
(思考:为什么echo:kkk a add也匹配?因为匹配单词周围包含冒号:也会匹配。这里做下补充,凡是匹配单词周围包含空格、符号的都会匹配失败!)

例23
findstr “<end>” 123.txt
这里是用来精确查找单词。查找单词end的行,
注意:
ended
cdkend
bcd-end-jjkk
这类词都不匹配。
(思考:为什么end echo和end也匹配?browser.execute_script("window.alert('因为\<xyz\>格式要查找的是单个英文单词。');")

CMD窗口之DOS命令篇(find 和 findstr)相关推荐

  1. DOS命令篇(find 和 findstr)

    学习 find  findstr 命令 学习要点: 1.字符串查找:find 2.字符串查找增强:findstr 一.字符串查找:find 在文件中搜索字符串. FIND [/V] [/C] [/N] ...

  2. cmd窗口输入java命令执行无反馈

    问题背景:  最近在开始学习SpringBoot,SpringBoot对于JDK和maven是有要求的,要求JDK版本必须要在jdk1.8以上,maven版本在3.5以上.  虽然博主还是一个底层的计 ...

  3. 批处理入门手册之批处理常用DOS命令篇(md、rd、ren、move)

    批处理入门手册之批处理常用DOS命令篇(md.rd.ren.move) 这篇文章主要介绍了批处理入门手册之批处理常用DOS命令篇(md.rd.ren.move),需要的朋友可以参考下 1.3 学习 m ...

  4. CMD打开方式+Dos命令

    打开cmd的方式 1.开始+系统+命令提示符 2.Win键+R 输入cmd打开 3.桌面上 ,shift+鼠标右键 4.资源管理器的地址栏前面+"cmd " 常用的Dos命令 #盘 ...

  5. 如何打开CMD以及简单Dos命令

    打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入cmd 打开控制台(推荐使用) 3.在任意文件夹下面,按住Shift键+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前 ...

  6. CMD的常用DOS命令

    打开CMD的方式 开始+系统+命令提示符 Win键+R 输入cmd打开控制台(推荐使用) 在任意文件下面,按住shift键+鼠标右键,在此处打开命令窗口 资源管理器的地址栏前面加上cmd路径 管理员方 ...

  7. C# 执行Cmd窗口中的命令 [复制文件实例]

    /// <summary>/// 复制文件夹/// </summary>/// <param name="sCmd"></param> ...

  8. cmd 窗口无法使用 pip 命令

    首先需要确认安装python 时,已经安装了 pip 相关的包 在 cmd 无法使用的原因是为将此目录添加到环境变量中: 将这两个目录新建添加到环境 path 环境变量中即可

  9. CMD窗口的cd命令

    cd /? 显示帮助信息 cd \ 返回到当前所在的根目录中去 cd .. 返回到上一级的目录中去 cd 目录名 可以进入下一层目录 d:  改变当前驱动器的目录

最新文章

  1. HTML中的form表单有一个关键属性 enctype
  2. 理解矩阵的掩码操作 使用opencv锐化图片
  3. SQL SERVER 查看并结束某个进程
  4. WebDev.WebServer 学习
  5. 文档中没有介绍的SQL Server DBCC命令
  6. 一个数据包大小是多少k_算法交流: 6046 数据包的调度机制 【2.6基本算法之动态规划】...
  7. 引领新媒体时代的潮水方向—世相科技
  8. din算法 代码_DIN算法代码详细解读
  9. JBoss 系列十四:JBoss7/WildFly如何加载外部的文件或properties文件
  10. swoole task 异步任务 注释请忽略 自己加的不一定对 别误导大家。。。。。。
  11. java 捕获异常顺序_Java基础:异常捕获顺序
  12. spring之AOP
  13. 总裁演说思维语言沟通学习心得有哪些
  14. Smartbi大数据分析工具有哪些功能?
  15. 电脑桌面快捷方式更换图片
  16. VS 2017 解决 C2001错误 常量中有换行符
  17. C语言——typedef的用法
  18. JAVA基础编程代码50个
  19. 4GCPE工业路由器使用方法 4G转WiFi 网口 有线 串口 以太网
  20. 目前最全的IT技术问答、社区、科技服务网站合集

热门文章

  1. 网络空间安全论文笔记3——缺陷
  2. 车路协同实现第二次技术革新 觉非科技路侧融合感知系统知寰™正式发布
  3. COGS 2091. Asm.Def的打击序列
  4. 跨平台c开发库tbox:内存库使用详解
  5. Java8日期处理方式,日常工作必备
  6. 【Unity学习】完全基于Ultimate Replay 2.0的UI回放系统
  7. 无心剑英汉双语诗002.《冬夜》
  8. 计算机的网络用语,计算机与网络用语的认知探索
  9. RSA ~ 非对称加密算法
  10. 模拟器APP抓包-全局代理