Findstr 使用正則表達式搜索文件中的文本模式。 語法 findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:File] [/f:File] [/c:String] [/d:DirList] [/a:ColorAttribute] [Stri
Findstr
使用正則表達式搜索文件中的文本模式。
語法
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 [...]
指定要搜索的文件。
/?
在命令提示符下顯示幫助。
注釋
? 使用 Strings 和 [Drive:][Path] FileName [...]
在命令字符串中,所有 findstr 命令行選項必須在 Strings 和 [Drive:][Path] FileName [...] 之前。
? 在 findstr 中使用正則表達式
Findstr 可以在任何 ASCII 文件或文件中精確查找所要查找的文本。然而,有時要匹配的信息只有一部分或要查找更寬廣的信息范圍。在這種情況下,findstr 具有使用正則表達式搜索各種文本的強大功能。
正則表達式是用於指定文本類型的符號,與精確的字符串相反。標記使用文字字符和元字符。每個在常規的表達式語法中沒有特殊意義的字符都是文字字符,與出現的該字符匹配。例如,字母和數字是文字符號。元字符是在正則表達式語法中具有特殊意義(操作符或分隔符)的符號。
下表列出 findstr 接受的元字符。
字符 值
.
通配符:任何字符
*
重復:以前零次或多次出現的字符或類
^
行中的位置:行首
$
行中的位置:行尾
[class]
字符類:集中的任何一個字符
[^class]
反向類:非集中的任何一個字符
[X-y]
范圍:指定范圍內的任何字符
X
轉義:元字符 X 的文字用途
<xyz
字的位置:字首
xyz>
字的位置:字尾
組合使用正則表達式語法的特殊字符功能十分強大。例如,下面的通配符 (.) 和重復符 (*) 的組合可以匹配任何字符串:
.*
將如下表達式用作匹配以“b”開頭並以“ing”結尾的任意字符串的更大表達式的組成部分:
b.*ing
示例
使用空格分隔多個搜索字符串,除非參數以 /c 為前綴。要在文件 x.y 中搜索“hello”或“there”,請鍵入:
findstr "hello there" x.y
要在文件 x.y 中搜索“hello there”,請鍵入:
findstr /c:"hello there" x.y