
在文件中查找字符串.
复制代码,代码如下:
FINDSTR [/ B] [/ E] [/ L] [/ R] [/ S] [/ I] [/ X] [/ V] [/ N] [/ M] [/ O] [/ P] [/ F: 文件]
[/ C: 字符串] [/ G: 文件] [/ D: 目录列表] [/ A: 颜色属性] [/ OFF [LINE]]
字符串[[驱动器: ] [路径]文件名[...]]
/ B在一行上开始配对模式.
/ E Pair模式在行尾.
/ L按原样使用搜索字符串.
/ R使用搜索字符串作为正则表达式.
/ S在当前目录和所有子目录中搜索匹配的文件.
/ I指定搜索不区分大小写.
/ X打印完全匹配.
/ V仅打印不包含匹配项的行.
/ N在匹配的每一行之前打印行数.
/ M如果文件包含匹配项,则仅打印其文件名.
/ O在每条匹配的行前打印字符偏移量.
/ P忽略具有不可打印字符的文件.
/ OFF [LINE]不要跳过具有离线属性集的文件.
/ A: attr指定带有十六进制数字的颜色属性. 看到“颜色/?”
/ F: 文件从指定文件中读取文件列表(/代表控制台).
/ C: 字符串使用指定的字符串作为文本搜索字符串.
/ G: 文件从指定文件中获取搜索字符串. (/代表控制台).
/ D: dir查找用分号分隔的目录列表
字符串要查找的文本.
[驱动器: ] [路径]文件名
指定要查找的文件.
除非参数带有/ C前缀,否则用空格分隔搜索字符串.
例如: 'FINDSTR“ hello there” x.y'在x.y或文件中查找“ hello”或
“有”. 'FINDSTR / C: “你好” x.y”文件x.y找到
“你好”.
正则表达式快速参考:
. 通配符: 任何字符
*重复: 上一个字符或类的出现次数为零或更多
^行位置: 行首
$行位置: 行尾
[class]字符类: 字符集中的任何字符
[^ class]补充字符类: 不在字符集中的任何字符
[x-y]范围: 指定范围内的任何字符
\ x转义: 元字符x的文本用法
\ xyz \>单词位置: 单词结尾 有关FINDSTR常用表达式的详细信息,请参见命令参考. 在此帮助消息中,我将所有“通用表达式”替换为“正则表达式”(一切都是由机器翻译引起的. ) 命令摘要: findstr,所有英文查找字符串,意思是“查找字符串”; / b,以英语开头,意思是“开始”; / e,英文结尾,意思是“结尾”; / l的字面意思是“字面”;扩展为“腿部表情”. / r,常规,表示“常规”;扩展为“正则表达式”. / s,子目录,意为“子目录”; / i,忽略,意思是“忽略”;扩展为“忽略大小写”; / x的确切含义是“完全”;扩展为“完全匹配”; (它最初不是单词,但是HAT确实很聪明-缩写e的原因是因为它具有结尾缩写,因此请使用第二个字母x作为缩写. ) / v,取反,表示“反向,颠倒”(由于doupip的说法); / n,完整的英文数字,意思是“数字”;扩展为“行号”; / m,仅表示“正好”; / o,偏移量,表示“偏移量”; / p,打印,意思是“打印”; / off [line],表示“离线文件”; / a,属性,意思是“属性”; / f,文件,表示“文件”; / c,大小写,意思是“加几个词”;扩展为“匹配所有单词”; / g,get,表示“获取”; / d,目录,意思是“目录”; 班. 感谢HAT的来信. 谢谢您. 参数13-14的详细信息来自Weichengxiehou的帖子(由于准备就绪,需要多少担心),原始帖子地址. 详细参数: 学习findstr需要大量实践经验,因此您需要创建一些txt文本进行测试. a.txt的内容(a.txt的内容将在以后多次修改,请注意!): 复制代码,代码如下: Hello World 你好男孩 你好,好人. 再见! 1. 最简单的应用程序: 在指定的文本中找到指定的字符串 代码: 复制代码,代码如下: findstr“ hello” a.txt 结果: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr“ hello” a.txt 你好,好人. 代码: 复制代码,代码如下: findstr“ Hello” a.txt 结果: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr“ Hello” a.txt Hello World 你好男孩 您可以在这里看到 findstr默认情况下区分大小写(与find命令相同)-Hello将不会显示Hello,反之亦然. 如何使其不区分大小写? 使用/ i参数! 示例: 复制代码,代码如下: C: \用户\ helloworld \桌面> findstr / i“ Hello” a.txt Hello World 你好男孩 你好,好人. 2. 显示您要查找的字符的哪一行文字 代码: C: \ Users \ helloworld \ Desktop> findstr / n / i“你好” a.txt 复制代码效果: 复制代码,代码如下: 1: Hello World 2: 你好男孩 3: 你好,好人. 显示结果中的冒号(:)为英文格式,因此使用时请注意! 在这里您可以比较find命令的/ n参数: 代码: 复制代码,代码如下: C: \ Users \ helloworld \ Desktop>查找/ n“ hello” a.txt 效果: ---------- A.TXT [3]你好,好人. 复制冒号(:)和方括号([]). 这是区别. 编写代码时请注意. 3. 查找包含指定字符的文本 代码: 复制代码,代码如下: C: \用户\ helloworld \桌面> findstr / m / i“你好” * .txt 效果: 复制代码,代码如下: 1.txt a.txt 中的类描述 1.txt如下: 除非参数带有/ C前缀,否则请使用空格分隔搜索字符串. 例如: 复制代码,代码如下: 'FINDSTR“ hello there” x.y'在x.y或文件中查找“ hello”或 “有”. 'FINDSTR / C: “你好” x.y”文件x.y找到 “你好”. [代码] 由于添加了/ m参数,因此仅列出了包含指定字符的文件名. 4. 查找以指定字符开头或结尾的文本行 此功能与上一个功能的最大区别在于它涉及“元字符”. 如果您不了解什么是“元字符”,则不必担心学习本节,好像您不了解“水”一样,它不影响饮用水. a.txt内容: [代码] 你好 你好,你好世界 Hello World 你好男孩 你好,好人. 再见! 如何找到以hello(忽略大小写)开头的行? 两种方法: ①. / b参数 代码: 复制代码,代码如下: C: \用户\ helloworld \桌面> findstr / b /我“你好” a.txt 效果: 复制代码,代码如下: Hello World 你好男孩 你好,好人. 你好,你好,你好,世界,这两个行都不会显示,因为hello不在行的开头. ②. ^字符 这里的^不是转义字符,而是正则表达式中的“匹配行开始的位置”. 代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / i“ ^ hello” a.txt 效果: 复制代码,代码如下: Hello World 你好男孩 你好,好人. 学习完查找以指定字符开头的行后,让我们学习查找以指定字符结尾的行. 如何找到以hello(忽略大小写)结尾的行? 还有两种方法: ①. /参数 代码: 复制代码,代码如下: C: \用户\ helloworld \桌面> findstr / e / i“你好” a.txt 结果: 复制代码,代码如下: 你好 仅显示“ good hello”,因为其他行都带有“ hello”,但没有一个以“ hello”结尾. ②. $个字符 代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / i“ hello $” a.txt 结果: 您好 到目前为止,我们已经学习了两个正则表达式的元字符: ^和$(分别有/ b和/ e参数对应于它们的功能). 5. 查找与指定字符完全匹配的行 首先修改a.txt的内容: 复制代码,代码如下: 你好 你好你好 你好 你好,你好世界 Hello World 你好男孩 你好,好人. 再见! 最了解其他人的童鞋可以尝试以下代码: 复制代码,代码如下: C: \ Users \ helloworld \ Desktop> findstr / n / i“ ^ hello $” a.txt 结果使您感到非常高兴: 1: 您好 除此方法外,findstr命令还提供/ x参数以查找完全匹配. 代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / n / i / x“ hello” a.txt 结果: 复制代码,代码如下: 1: 你好 6. 关闭正则表达式会发生什么? 我们可以人为地将findstr分为“正则表达式模式”和“普通字符串模式”两种模式. findstr默认为“正则表达式模式”,/ r参数也为“正则表达式模式”(换句话说,/ r参数有点多余). 使用/ l参数,将findstr转换为“普通字符串模式”(实际上,find是此模式,并且仅此模式). 在“普通字符串模式”下,用相同的代码查看结果吗? 代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / li“ ^ hello” a.txt 不显示任何内容. 以hello开头的行显然包含以下内容,为什么不显示它们? 复制代码,代码如下: 你好你好 Hello World 你好男孩 你好,好人. 因为,当您使用“普通字符串模式”时,findstr不会将^视为正则表达式的元字符,而只会将其视为普通字符^,这意味着它不具有“表示行”. 头”已经成为与h等字符相同的普通人,并且不再具有“特权”. 更改a.txt的内容: ^你好 复制代码,代码如下: 你好 你好你好 你好 你好,你好世界 Hello World 你好男孩 你好,好人. 再见! 再次运行代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / nli“ ^ hello” a.txt 结果: 复制代码,代码如下: 1: ^你好 7. 查找不包含指定字符的行 如果比较find和findstr命令,您会发现它们都具有/ v,/ n,/ i,/ off [line]参数,并且功能完全相同. 这是/ v参数. 查找不包含问候的行. 代码: 复制代码,代码如下: C: \ Users \ Users \ helloworld \ Desktop> findstr / vni“ hello” a.txt 结果: 复制代码,代码如下: 9: 再见! 8. 如何在当前目录和子目录的文件内容中查找包含字符串的文件名? 在编写本教程时,我看到一群朋友无意中问了这个问题,地址是: 代码: 复制代码,代码如下: findstr / ms“” * .txt 效果: 查找当前目录和子目录中文件内容中包含“”的文本文件,并仅显示其文件名. 9. 指定要与文本一起查找的文件,并指定要与文本一起查找的字符串 指定要查找的文本文件 使用以下内容创建一个新的file.txt(此文本指定findstr将找到的文本的路径): 复制代码,代码如下:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-153539-1.html
@老子起个昵称怎么就那么难@郑甜甜的辛普森美美美