精华内容
下载资源
问答
  • findstr2 $ findstr2.exe --help Usage: findstr2.exe [-?] [-l] [-i] <regex> Description: Finds strings matching a regular expression in a file =========================================================...
  • Findstr使用正则表达式搜索文件中的文本模式。
  • findstr中文版,可以在任意文件夹内查找包含特定字符的文件
  • FindStr_chn

    2016-10-25 23:46:45
    window上面的grep工具,完美解决了win7/8/10上面查找文本文件内容的问题
  • 搜索出指定目录下所有包含字符串的文本文件,可搜索指定扩展名的文件。
  • findstr 命令使用

    2019-09-26 10:22:09
    findstr 命令使用 find /? 在文件中搜索字符串。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]] /V 显示所有未包含指定字符串的行。 /C 仅显示包含字符串的行数。...

    findstr 命令使用

     

    find /?
    在文件中搜索字符串。
    
    FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
    
      /V         显示所有未包含指定字符串的行。
      /C         仅显示包含字符串的行数。
      /N         显示行号。
      /I         搜索字符串时忽略大小写。
      /OFF[LINE] 不要跳过具有脱机属性集的文件。
      "string" 指定要搜索的文本字符串。
      [drive:][path]filename
                 指定要搜索的文件。
    
    如果没有指定路径,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    从指定的文件获得搜索字符串。 (/ 代表控制台)。
      /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\>    字位置: 字的结束
    
    有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。

     

    示例:

     

    使用空格分隔多个搜索字符串,除非参数以 /c 为前缀。要在文件 x.y 中搜索“hello”或“there”,请键入:

    findstr "hello there" x.y

     

    要在文件 x.y 中搜索“hello there”,请键入:

    findstr /c:"hello there" x.y

     

    若要查找文件 Proposal.txt 中出现的所有单词“Windows”(首字母 W 大写),请键入:

    findstr Windows proposal.txt

     

    若要搜索包含单词 Windows 的当前目录和所有子目录中的每个文件(不考虑字母大小写),请键入:

    findstr /s /i Windows *.*

     

    要查找包含字“FOR”的所有行(前面可有任意空格,如:计算机程序中的循环),并包括每次出现的行号,请键入:

    findstr /b /n /c:"*FOR" *.bas

     

    如 果要在相同组文件中搜索几个不同项目,请在新行上创建包含每个搜索标准的文本文件。也可以列出要在文本文件中搜索的确切文件。要使用文件 Finddata.txt 中的搜索标准来搜索 Filelist.txt 中列出的文件,然后将结果保存到文件 Results.out 中,请键入:

    findstr /g:finddata.txt /f:filelist.txt > results.out

     

    假设您想要查找当前目录和所有子目录中包含单词“computer”的每个文件,而不考虑字母的大小写。若要列出包含单词“computer”的所有文件,请键入:

    findstr /s /i /m "/" *.*

     

    现在假定不仅需要查找单词“computer”,而且需要查找以字母“comp”开头的所有其他单词,例如“compliment”和“compete”。请键入:

    findstr /s /i /m "/

     

    http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/2b01d7f5-ab5a-407f-b5ec-f46248289db9.mspx?mfr=true

     

     

    实例:

     

    1.findstr . 2.txt 或 findstr "." 2.txt  

    从文件2.txt中查找任意字符,不包括空字符或空行

    ====================

     

    2.findstr .* 2.txt 或 findstr ".*" 2.txt

    从文件2.txt中查找任意字符包括空行和空字符

    ====================

     

    3.findstr "[0-9]" 2.txt

    从文件2.txt中查找包括数字0-9的字符串或行

    ====================

     

    4.findstr "[a-zA-Z]" 2.txt

    从文件2.txt中查找包括任意字符的字符串或行

    ====================

     

    5.findstr "[abcezy]" 2.txt

    从文件2.txt中查找包括a b c e z y字母的字符串或行

    ====================

     

    6.findstr "[a-fl-z]" 2.txt

    从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。

    ====================

     

    7.findstr "M[abc][hig]Y" 2.txt

    从文件2.txt中可以匹配 MahY , MbiY, MahY等…..

    ====================

     

    8. ^和$符号的应用

    ^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词

    $ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词

    ====================

     

    9.finstr "[^0-9]" 2.txt

    如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就不成了。

    ====================

     

    10.findstr "[^a-z]" 2.txt

    同上,如果是纯字母的字符串或者行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf这样的字符,如果是sdfksjdkf99999这样的形式,掺杂着数字就不成了

    ====================

     

    11.*号的作用

    前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。

    ====================

     

    12.findstr "^[0-9]*$" 2.txt

    这个是匹配找到的纯数字,例如 234234234234,如果是2133234kkjl234就被过滤掉了。

       Findstr "^[a-z]*$" 2.txt

    这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被过滤掉了

    如 果在搜索条件里没有*号,也就是说不重复左侧的搜索条件,也就是[0-9] [a-z]那只能匹配字符串的第一个字符也只有这一个字符,因为有行首和行尾的限制,"^[0-9]$"第一个字符如果是数字就匹配,如果不是就过滤掉, 如果字符串是 9 就匹配,如果是98或者9j之类的就不可以了。

    =====================

     

    13. "/<…/>"这个表达式的作用

    这个表示精确查找一个字符串,/<sss 表示字的开始位置,sss/>表示字的结束位置

    echo hello world computer|findstr "/<computer/>"这样的形式

    echo hello worldcomputer|findstr "/<computer/>" 这样的形式就不成了,他要找的是 "computer"这个字符串,所以不可以。

    echo hello worldcomputer|findstr ".*computer/>"这样就可以匹配了

    =====================

     

    ============================================= End

     

     

     

     

     

     

     

     

     

     

    find 作用:从文件中收索字符串

    格式:find 参数 "字符串" 路径\文件名

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

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

    /N 显示行号。

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

    /OFF[LINE] 不要跳过具有脱机属性集的文件。

    当文件中包含要查找的字符串时,将返回这个字符串所在位置的整行内容。默认情况下是区分大小写的,若想要

    不区分大小写就是用参数 /i 有时候,我们的需求并不是为了查找到某个字符串,而是要检测哪些行不含有特定的

    字符串,这个时候,可以使用开关/v,用法为:find /v "Abc" test.txt,它表示查找那些不含字符串Abc的行(Abc要

    区分大小写),如果不区分abc的大小写,那么,应该写成 find /i /v "Abc" test.txt。还有一点是find 支持查找通配

    符文件。如 find "1" *.txt。

    findstr 是find的扩展,功能更强大

    格式:findstr 参数 字符串 路径\文件名

    参数: /B 在一行的开始配对模式。 (就是指以字符串开头,begin 这样就方便了记忆)

    /E 在一行的结尾配对模式。(就是指以字符串结尾,end 这样就方便记忆)

    /L 按字使用搜索字符串。就是将后面的""里的当成一个字符

    /R 将搜索字符串作为一般表达式使用。

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

    /I 指定搜索不分大小写。(英文:ignore 忽略)

    /X 打印完全匹配的行。/x 是指完全匹配,就是说整行匹配,而不是含有关键字.

    /V 只打印不包含匹配的行。(就是找出不包含字符串的)

    /N 在匹配的每行前打印行数。(就是在输出行的前面加上原文件中的行数,英文:number)

    显示的结果中冒号(:)是英文格式下的,在用for提取的时候需要注意!

    /M 如果文件含有匹配项,只打印其文件名。(指定文件中输出含有字符串的文件名)

    /O 在每个匹配行前打印字符偏移量。o开关的作用是告诉你每行第一个字符前的位置是该文件中的第几个字节

    计算时别忘了文本中不可见的回车符合换行符将占两字节(某些文本中只占一字节)。还有空格键一个字符。

    肯定听不懂。看例子:1.txt文件内容: 就三行三个c没有空格。输入:findstr /o c 1.txt 结果是:

    c 0:c

    c 3:c

    c 6:c

    怎么计算:第一行的c前没有字符所以是0.第二行的c前一行只有一个c算一个字符由于是第二行所以算一个回车

    2个字符就是:1+2=3同理第三个c前有2个字符和2个回车:1*2+2*2=6.。

    /P 忽略有不可打印字符的文件。(我不清楚,个人无法解释)

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

    如:findstr /c:"a b" 1.txt 就会找出含"a b"的行并输出来(注意a和b中间有空格)

    如果不用参数/c:findstr "a b" 1.txt 就会输出含有字母 a 或 b 的行。

    /G:file 从指定的文件获得搜索字符串。 (/ 代表控制台)。

    如:findstr /g:2.txt 1.txt 就是把1.txt中含有2.txt中任一行内容的行输出来。

    上面的有点像:@echo off

    for /f "delims=" %%a in ('type 2.txt') do (

    findstr "%%a" 1.txt

    echo.)

    pause

    (以上是自己试出来的,不保证正确)

    /A:attr 指定有十六进位数字的颜色属性。请见 "color /?"(使用这个可以在dos上面搞出不同颜色的字,自己想想)

    /F:file 从指定文件读文件列表 (/ 代表控制台)。

    /D:dir 查找以分号为分隔符的目录列表

    /OFF[LINE] 不跳过带有脱机属性集的文件。

    除非参数有 /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\> 字位置: 字的结束

    <和\>是单词锚定 ^是行首 $是行尾

    注意的是:别把^,$和\<,\>弄混了一个是行一个是字。行开始与结束没什么好说的。而字的开始和结束就不一样了,例如:

    1.txt里两行为"abcd" 和 "abcd e"用命令findstr "cd\>" 1.txt 两行都会出现,只要是连在一起(没被空格开)的

    并以cd结尾的(不 要求是行尾)都满足。相当于文本中出现英语中以cd结尾的的单词了的行都会输出来。

     

    举一些例子(来自网络):

    1.findstr . 2.txt 或 findstr "." 2.txt 2.findstr .* 2.txt 或 findstr ".*" 2.txt

    从文件2.txt中查找任意字符,不包括空字符或空行 从文件2.txt中查找任意字符包括空行和空字符

    ==================== ====================

    3.findstr "[0-9]" 2.txt 4.findstr "[a-zA-Z]" 2.txt

    从文件2.txt中查找包括数字0-9的字符串或行 从文件2.txt中查找包括任意字符的字符串或行

    ==================== ====================

    5.findstr "[abcezy]" 2.txt 6.findstr "[a-fl-z]" 2.txt

    从文件2.txt中查找包括a b c e z y字母的字符串或行 从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。

    ==================== ====================

    7.findstr "M[abc][hig]Y" 2.txt 8. ^和$符号的应用

    从文件2.txt中可以匹配 MahY , MbiY, MahY等….. ^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词

    $ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词

    ==================== ====================

    9.finstr "[^0-9]" 2.txt

    如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就不成了。

    ====================

    10.findstr "[^a-z]" 2.txt

    同上,如果是纯字母的字符串或者行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf这样的字符,如果是sdfksjdkf99999这样的形式,掺杂着数字就不成了

    ====================

    11.*号的作用

    前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。

    ====================

    12.findstr "^[0-9]*$" 2.txt

    这个是匹配找到的纯数字,例如 234234234234,如果是2133234kkjl234就被过滤掉了。

    Findstr "^[a-z]*$" 2.txt

    这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被过滤掉了

    如 果在搜索条件里没有*号,也就是说不重复左侧的搜索条件,也就是[0-9] [a-z]那只能匹配字符串的第一个字符也只有这一个字符,因为有行首和行尾的限制,"^[0-9]$"第一个字符如果是数字就匹配,如果不是就过滤掉, 如果字符串是 9 就匹配,如果是98或者9j之类的就不可以了。

    =====================

    13. "\<…\>"这个表达式的作用

    这个表示精确查找一个字符串,\<sss 表示字的开始位置,sss\>表示字的结束位置

    echo hello world computer|findstr "\<computer\>"这样的形式

    echo hello worldcomputer|findstr "\<computer\>" 这样的形式就不成了,他要找的是 "computer"这个字符串,所以不可以。

    echo hello worldcomputer|findstr ".*computer\>"这样就可以匹配了

    14.吧1.txt文档中超过10个字符的行输出到2.txt

    @findstr .......... 1.txt>2.txt

    感觉好像2.txt里是少于10个字符的行,可是实际却是超过10个字符的行,包括10个字符。

    以上内容转自:http://hi.baidu.com/bs0%D0%A1%B3%C2/blog/item/3f9c39ee0d29c0cbd439c94a.html

    find比findstr更强的地方:

     1、统计含指定字符串的总行数。find /c "abc" test.txt可以统计test.txt中含有字符串abc的总行数,而findstr则没有直接提供该功能,需要配合for语句才能实现;

      2、find可以读取Unicode格式的文本,而findstr则不行;

      3、find可以过滤某些特殊字符,而findstr则不行,比如,我们在使用fsutil fsinfo drives语句查询磁盘分区的时候,如果想让盘符分行显示而不是显示在同一行上的时候(这在用for语句提取盘符的时候很有用),find可以大显身手,而findstr只能干瞪眼了,具体语句为: 代码: fsutil fsinfo drives|find /v ""

    转载于:https://www.cnblogs.com/lsgxeva/p/11263678.html

    展开全文
  • 2.字符串查找增强:findstr 一.字符串查找:find 在文件中搜索字符串。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]] /V 显示所有未包含指定字符串的行。 /C 仅显示包含字符...

    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
    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
    这两行都匹配。
    (思考:为什么:echo也匹配?)

    例22
    findstr "echo\>" 123.txt
    所有含有以echo为后缀的字符串的行,都匹配。
    如:
    qq bbecho 这一行也匹配。
    (思考:为什么kkkk echo:也匹配?)

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

    ● 转义符 \
    把表达式中的特殊字符(元字符)转化为普通字符。常见写法:
    .
    *
    \
    ??
    -

    例24
    findstr ".abc" 123.txt
    在文件123.txt中查找可以匹配“.abc”字符串的行,这里\。是把。给转义了。

    例25
    findstr "1\" 123.txt 或findstr "1\\" 123.txt
    在文件123.txt中查找可以匹配“1\”字符串的行,这里\是把\给转义了。

    ★要查找的字符串含有\时,可以用\把\给转义;或者把\变成\\。如果目标字符串的\后面还有内容,则搜索字符
    串\除了要变成\(本身的转义要求),还可以在它后面再加一个字符,如\.

     

    >find /?
    在文件中搜索字符串。
    
    FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
    
      /V         显示所有未包含指定字符串的行。
      /C         仅显示包含字符串的行数。
      /N         显示行号。
      /I         搜索字符串时忽略大小写。
      /OFF[LINE] 不要跳过具有脱机属性集的文件。
      "string" 指定要搜索的文本字符串。
      [drive:][path]filename
                 指定要搜索的文件。
    
    如果没有指定路径,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    从指定的文件获得搜索字符串。 (/ 代表控制台)。
      /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\>    字位置: 字的结束
    
    有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。
    

     

     

    参考:https://blog.51cto.com/u_13718210/2359945

    展开全文
  • gvim findstr

    2018-01-18 15:38:03
    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 在一行的...
  • findstr是window系统自带的命令,用途是查找指定的一个或多个文件文件中包含某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。通过管道符与其他命令结合使用,其用途和用法都类似...

    一、命令简介

      findstr是window系统自带的命令,用途是查找指定的一个或多个文件文件中包含某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。通过管道符与其他命令结合使用,其用途和用法都类似linux下的grep命令,用于查找过滤指定字符串。

    二、使用示例

    1、查看命令帮助

    使用findstr /? 获取命令帮助
    在这里插入图片描述

    2、查找文件中包含字符串的行

    在这里插入图片描述

    3、查找字符串时忽略大小写

    在这里插入图片描述

    4、多字符串条件或查找

    findstr “字符串1 字符串2” 文件,按照条件或查找文件中包含字符串1或者字符串2的行。
    在这里插入图片描述

    5、查找包含空格的字符串行

    findstr /C:“字符串” file,查找包含空格的字符串匹配行
    在这里插入图片描述

    6、按正则表达式查找字符串

    find /R “^字符串” file 查找file文件中这开头的行
    在这里插入图片描述
    在这里插入图片描述

    7、打印行号

    find /N “字符串” 打印匹配行的行号
    在这里插入图片描述

    8、匹配结果反选

    findstr /V “字符串” file 显示不匹配的行
    在这里插入图片描述

    9、递归查找

    find /S “字符串” 查找当前目录下及子目录匹配字符串的行
    在这里插入图片描述

    10、指定类型文件下查找

    find “字符串” *.txt 查找txt类型文件包含字符串的行。
    在这里插入图片描述

    11、从指定的文件获取需要查找的字符串

    findstr /G:s.txt file 通过s.txt文件获取需要查找的字符串
    在这里插入图片描述

    三、使用语法及参数说明

    1、使用语法

    用法:findstr [参数] [字符串] [磁盘:[目录]文件]

    2、参数说明

    参数参数说明
    /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指定要查找的文件。

    3、常用正则表达式说明

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

    2016-12-16 15:42:28
    Findstr Searches for patterns of text in files using regular expressions. Syntax findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:file] [/f:file] [/c:...

    Findstr

    Searches for patterns of text in files using regular expressions.

    Syntax

    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 [...]]

    Parameters

    /b   : Matches the pattern if at the beginning of a line.

    /e   : Matches the pattern if at the end of a line.

    /l   : Uses search strings literally.

    /r   : Uses search strings as regular expressions. Findstr interprets all metacharacters as regular expressions unless you use /l.

    /s   : Searches for matching files in the current directory and all subdirectories.

    /i   : Specifies that the search is not to be case-sensitive.

    /x   : Prints lines that match exactly.

    /v   : Prints only lines that do not contain a match.

    /n   : Prints the line number before each line that matches.

    /m   : Prints only the file name if a file contains a match.

    /o   : Prints seek offset before each matching line.

    /p   : Skips files with non-printable characters.

    /offline   : Processes files with offline attribute set.

    /f: file   : Reads file list from the specified file.

    /c: string   : Uses specified text as a literal search string.

    /g: file   : Gets search strings from the specified file.

    /d: dirlist   : Searches a comma-delimited list of directories.

    /a: ColorAttribute   : Specifies color attributes with two hexadecimal digits.

    strings   : Specified text to be searched for in FileName.

    [ Drive : ][ Path ] FileName [...] : Specifies a file or files to search.

    /?   : Displays help at the command prompt.

    Remarks

    • Using regular expressions with findstr 

      Findstr is capable of finding the exact text you are looking for in any ASCII file or files. However, sometimes you have only part of the information that you want to match, or you want to find a wider range of information. In such cases, findstr has the powerful capability to search for patterns of text using regular expressions.

      Regular expressions are a notation for specifying patterns of text, as opposed to exact strings of characters. The notation uses literal characters and metacharacters. Every character that does not have special meaning in the regular expression syntax is a literal character and matches an occurrence of that character. For example, letters and numbers are literal characters. A metacharacter is a symbol with special meaning (an operator or delimiter) in the regular-expression syntax.

      The following table lists the metacharacters that findstr accepts.

      Character

      Value

      .

      Wildcard: any character

      *

      Repeat: zero or more occurrences of previous character or class

      ^

      Line position: beginning of line

      $

      Line position: end of line

      [class]

      Character class: any one character in set

      [^class]

      Inverse class: any one character not in set

      [x-y]

      Range: any characters within the specified range

      \x

      Escape: literal use of metacharacter x

      \<xyz

      Word position: beginning of word

      xyz\>

      Word position: end of word

      The special characters in regular expression syntax are most powerful when you use them together. For example, the following combination of the wildcard character (.) and repeat (*) character match any string of characters:

      .*

      Use the following expression as part of a larger expression that matches any string beginning with "b" and ending with "ing":

      b.*ing

    Examples

    Use spaces to separate multiple search strings unless the argument is prefixed with /c. To search for "hello" or "there" in file x.y, type:

    findstr "hello there" x.y

    To search for "hello there" in file x.y, type:

    findstr /c:"hello there" x.y

    To find all occurrences of the word "Windows" (with an initial capital W) in the file Proposal.txt, type the following:

    findstr Windows proposal.txt

    To search every file in the current directory and all subdirectories that contained the word Windows, regardless of the letter case, type the following:

    findstr /s /i Windows *.*

    To find all occurrences of lines that contain the word "FOR", preceded by any number of spaces, (as in a computer program loop), and to include the line number where each occurrence is found, type the following:

    findstr /b /n /c:" *FOR" *.bas

    If you want to search for several different items in the same set of files, create a text file that contains each search criterion on a new line. You can also list the exact files you want to search in a text file. To use the search criteria in the file Finddata.txt, search the files listed in Filelist.txt, and then store the results in the file Results.out, type the following:

    findstr /g:finddata.txt /f:filelist.txt > results.out

    Assume you wanted to find every file in the current directory and all subdirectories that contained the word computer, regardless of the letter case. To list every file containing the word computer, type the following:

    findstr /s /i /m "\<computer\>" *.*

    Now assume you want to find not only the word "computer," but also any other words that begin with the letters comp, such as "compliment" and "compete. " type the following:

    findstr /s /i /m "\<comp.*" *.*

    Formatting legend

    Format

    Meaning

    Italic

    Information that the user must supply

    Bold

    Elements that the user must type exactly as shown

    Ellipsis (...)

    Parameter that can be repeated several times in a command line

    Between brackets ([])

    Optional items

    Between braces ({}); choices separated by pipe (|). Example: {even|odd}

    Set of choices from which the user must choose only one

    Courier font

    Code or program output

    Command-line reference A-Z

    展开全文
  • FindStr 文件查找 替换

    2010-03-10 11:25:51
    搜集的资料、小说、源代码多了以后,经常连自己都搞不清什么东西存放在哪里,手工建立、维护索引太累,使用Windows自己提供的全文检索又太耗资源,这个时候用FindStr来搜就很合适,而且可以不解包直接在zip/rar中...
  • 【批处理】findstr

    千次阅读 2019-10-27 18:58:32
    findstr命令。
  • FINDSTR正则表达式小结

    2019-10-18 12:35:39
    前言:最近写了一个bat用于快速编译swf至目标目录,想利用FINDSTR命令通过匹配目标目录名称,匹配数量大概600多个,发现匹配耗时比较久,大概花费10余秒,因此还是放弃字符匹配,乖乖拼出全称来定位目录。...
  • 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]f...
  • 批处理命令之find 和findstr

    千次阅读 2018-11-07 18:07:55
     3、find可以过滤某些特殊字符,而findstr则不行,比如,我们在使用fsutil fsinfo drives语句查询磁盘分区的时候,如果想让盘符分行显示而不是显示在同一行上的时候(这在用for语句提取盘符的时候很有用),find...
  • Windows provides findstr tool to search file contents. These file contents expected to be text and string but binary binary files are accepted too. But searching binary files and content will not ...
  • CMD - 查找 findstr

    2020-09-06 23:12:01
    Shell - CMD查找findstr 查找 findstr > 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 ...
  • 查找替换工具FindStr

    2013-10-08 11:51:30
    查找替换工具FindStr 可以方便的查找并替换文件中的代码或文本
  • FindStr 文本查找

    2013-10-09 13:47:18
    FindStr 文本查找工具 一牛人写的。搜索效率还挺高。建议收藏
  • DOS命令篇(find 和 findstr)

    万次阅读 2018-08-21 15:20:00
    学习 find findstr 命令   学习要点: 1.字符串查找:find 2.字符串查找增强:findstr 一.字符串查找:find 在文件中搜索字符串。 FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]...
  • 找字FindStr命令是大漠插件的核心功能部分,也是我们在游戏辅助中使用较多的命令,本节视频制作了FindStr命令,并通过游戏《剑侠情缘》做了测试,调用。 511遇见大漠模块制作 FindStr大漠文档说明: 函数简介: ...
  • 批处理findstr的用法

    2008-10-03 15:37:18
    批处理是计算机中比较实用的程序,各个命令的联合可以做一些有用的段程序.其中比较难懂的有for,findstr等.这篇文章说说findstr的用法.
  • 执行命令报错keytool -list -keystore "/app/jdk11Openj9/lib/security/cacerts" -storepass changeit|findstr jal21xplm: 原因分析: 提示:这里填写问题的分析: 例如:Handler 发送消息有两种方式,分别是 ...
  • Windows CMD中 findstr命令

    2019-11-14 10:40:44
    findstr是Window系统自带的命令,用于查找某路径下指定的一个或多个文件中包含某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。其用途和用法类似Linux下的grep命令。findstr命令...
  • 批处理之find和findstr

    千次阅读 2019-05-07 10:43:59
    find方法功能相对简单,如果需要更复杂的搜索,可以使用支持正则表达式的findstr。 2.1. 语法及注释 findstr [ / b] [ / e] [ / l] [ / r] [ / s] [ / i] [ / x] [ / v] [ / n] [ / m] [ / o] [ / p] [ / ...
  • findstr中的空格

    2019-10-01 02:33:52
    findstr is a useful command in bat file. for instances: findstr /NI ^error.*: %DEBUG_LOG% 1>nul 2>&1 It matches error info via regular expression, if matched, build system ...
  • findstr

    2015-12-15 10:31:58
    之后findstr /s /n /i "SH" * /s表示在当前文件夹及所有子文件夹,/n表示打印所在行数,/i表示不区分大小写, *表示在所有类型文件中搜索.  一搜东西,能搜出来一大堆重复的东西.啥驴逼玩意?另外,help findstr, 可以列...
  • 2.txt 或 findstr "." 2.txt 2.findstr .* 2.txt 或 findstr ".*" 2.txt 从文件2.txt中查找任意字符,不包括空字符或空行 从文件2.txt中查找任意字符包括空行和空字符 ==================...
  • 我喜欢Linux上的grep命令,它有助于轻松地搜索和过滤字符串,总是想知道Windows上的等效工具是什么,并在最近找到了这个findstr 。 在本文中,我将分享一些我在Linux上最喜欢的“ grep”示例,以及如何使用“ ...
  • matlab-findstr()

    千次阅读 2020-05-10 15:12:50
    字符串的查找和搜索函数。 用下面的例子来看吧 findstr函数对字母的大小写是敏感的,对字符串矩阵不起作用,因此对字符串矩阵的搜索只能通过循环索引矩阵内的元素进行搜索。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,929
精华内容 17,171
关键字:

findstr