windows find findstr命令(cmd查找文檔中的特定字符)
find 命令用于查找文檔中的特定字符和數(shù)字及行號, 例如我們在閱讀文檔時, 使用的快捷鍵 Ctrl + F 來查找是一個效果, 經(jīng)過 find 查找的字符也可以重定向到一個文本文檔里面去, 提取特定的字符, 來進行文檔的整合。
find 命令好像不支持正則,加強版可使用 findstr
find 命令
在 Windows 系統(tǒng)中,find
命令用于在文件中搜索指定的字符串。以下是find
命令的詳細用法:
基本語法
find [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
參數(shù)說明
參數(shù) | 說明 |
---|---|
/V | 顯示所有未包含指定字符串的行。 |
/C | 僅顯示包含字符串的行數(shù)。 |
/N | 顯示行號。 |
/I | 搜索字符串時忽略大小寫。 |
/OFF[LINE] | 不要跳過具有脫機屬性集的文件。 |
“string” | 指定要搜索的文本字符串。 |
[drive:][path]filename | 指定要搜索的文件。 |
/V
:顯示所有不包含指定字符串的行。例如,要查找文件中不包含 “error” 的行,可以使用find /V "error" file.txt
。/C
:僅顯示包含指定字符串的行數(shù)。例如,find /C "success" log.txt
會顯示 “log.txt” 文件中包含 “success” 的行數(shù)。/N
:在顯示匹配行的同時,顯示行號。例如,find /N "warning" system.log
會顯示 “system.log” 文件中包含 “warning” 的行以及行號。/I
:在搜索字符串時忽略大小寫。例如,find /I "Windows" readme.txt
會在 “readme.txt” 文件中查找 “Windows”、“windows” 等字符串。/OFF[LINE]
:在處理脫機文件時,強制find
命令在不訪問網(wǎng)絡(luò)共享的情況下執(zhí)行搜索。"string"
:要搜索的字符串,必須用雙引號括起來。[drive:][path]filename
:指定要搜索的文件或文件集的路徑和名稱??梢灾付ǘ鄠€文件,文件之間用空格分隔。例如,find "keyword" C:\data\file1.txt D:\logs\file2.log
會在 “file1.txt” 和 “file2.log” 文件中搜索 “keyword”。
示例
查找當前目錄下所有.txt
文件中包含 “hello” 的行,并顯示行號:
find /N "hello" *.txt
統(tǒng)計指定文件中包含 “world” 的行數(shù):
find /C "world" myfile.txt
在多個文件中查找不包含 “error” 的行,并忽略大小寫:
find /V /I "error" file1.txt file2.txt file3.txt
注意事項
find
命令只能在文本文件中進行搜索,對于二進制文件,可能會出現(xiàn)不可預測的結(jié)果。- 如果要搜索的字符串包含特殊字符,如引號、括號等,可能需要對這些字符進行轉(zhuǎn)義或使用其他方法來處理。
- 在使用通配符(如
*
和?
)指定文件時,要確保通配符的使用符合預期,以避免搜索到不相關(guān)的文件。
此外,Windows 系統(tǒng)中還有一些其他工具和命令也可以用于文件搜索和文本處理,如findstr
命令,它提供了更強大的搜索功能,支持正則表達式等。
案例
E:\>netstat -ano|find "4664" TCP 127.0.0.1:21440 0.0.0.0:0 LISTENING 4664 TCP 127.0.0.1:21441 0.0.0.0:0 LISTENING 4664 TCP 127.0.0.1:21441 127.0.0.1:49775 ESTABLISHED 4664
查看指定字符并忽略大小寫
E:\>netstat -ano|find /I "listening" TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1084 TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 6276 TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:902 0.0.0.0:0 LISTENING 6152 TCP 0.0.0.0:912 0.0.0.0:0 LISTENING 6152 TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1260 TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:49664 0.0.0.0:0 LISTENING 908 TCP 0.0.0.0:49665 0.0.0.0:0 LISTENING 768 TCP 0.0.0.0:49666 0.0.0.0:0 LISTENING 1528
統(tǒng)計包含指定字符串的行數(shù)
E:\>netstat -ano|find /I /C "listening" 44
顯示行號
E:\>netstat -ano|find /N "4664" [26] TCP 127.0.0.1:21440 0.0.0.0:0 LISTENING 4664 [27] TCP 127.0.0.1:21441 0.0.0.0:0 LISTENING 4664 [28] TCP 127.0.0.1:21441 127.0.0.1:49775 ESTABLISHED 4664
查找結(jié)果反選
E:\>netstat -ano|find /I /V "listening" 活動連接 協(xié)議 本地地址 外部地址 狀態(tài) PID TCP 127.0.0.1:21441 127.0.0.1:49775 ESTABLISHED 4664 TCP 127.0.0.1:49775 127.0.0.1:21441 ESTABLISHED 11660 TCP 127.0.0.1:58769 127.0.0.1:58772 ESTABLISHED 4064 TCP 127.0.0.1:58769 127.0.0.1:58773 ESTABLISHED 4064 TCP 127.0.0.1:58769 127.0.0.1:58806 ESTABLISHED 4064 TCP 127.0.0.1:58772 127.0.0.1:58769 ESTABLISHED 9388 TCP 127.0.0.1:58773 127.0.0.1:58769 ESTABLISHED 10340 TCP 127.0.0.1:58806 127.0.0.1:58769 ESTABLISHED 9388 TCP 192.168.1.3:52970 221.204.58.54:443 CLOSE_WAIT 1960 TCP 192.168.1.3:53285 221.204.17.1:443 CLOSE_WAIT 1960 TCP 192.168.1.3:53303 120.131.13.30:443 CLOSE_WAIT 1960 TCP 192.168.1.3:53575 139.196.142.30:443 ESTABLISHED 7484 TCP 192.168.1.3:53611 139.196.142.30:443 TIME_WAIT 0 TCP 192.168.1.3:53613 116.62.230.66:443 TIME_WAIT 0 ........................................................................................
findstr 命令
findstr是window系統(tǒng)自帶的命令,用途是查找指定的一個或多個文件文件中包含某些特定字符串的行,并將該行完整的信息打印出來,或者打印查詢字符串所在的文件名。通過管道符與其他命令結(jié)合使用,其用途和用法都類似linux下的grep命令,用于查找過濾指定字符串。
用法:find [參數(shù)] [字符串] [磁盤:[目錄]文件]
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[ ...]]
E:\>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 在一行的結(jié)尾配對模式。 /L 按字使用搜索字符串。 /R 將搜索字符串作為一般表達式使用。 /S 在當前目錄和所有子目錄中搜索匹配文件。 /I 指定搜索不分大小寫。 /X 打印完全匹配的行。 /V 只打印不包含匹配的行。 /N 在匹配的每行前打印行數(shù)。 /M 如果文件含有匹配項,只打印其文件名。 /O 在每個匹配行前打印字符偏移量。 /P 忽略有不可打印字符的文件。 /OFF[LINE] 不跳過帶有脫機屬性集的文件。 /A:attr 指定有十六進位數(shù)字的顏色屬性。請見 "color /?" /F:file 從指定文件讀文件列表 (/ 代表控制臺)。 /C:string 使用指定字符串作為文字搜索字符串。 /G:file 從指定的文件獲得搜索字符串。 (/ 代表控制臺)。 /D:dir 查找以分號為分隔符的目錄列表 strings 要查找的文字。 [drive:][path]filename 指定要查找的文件。 除非參數(shù)有 /C 前綴,請使用空格隔開搜索字符串。 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或 "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 尋找 "hello there"。 一般表達式的快速參考: . 通配符: 任何字符 * 重復: 以前字符或類出現(xiàn)零或零以上次數(shù) ^ 行位置: 行的開始 $ 行位置: 行的終點 [class] 字符類: 任何在字符集中的字符 [^class] 補字符類: 任何不在字符集中的字符 [x-y] 范圍: 在指定范圍內(nèi)的任何字符 \x Escape: 元字符 x 的文字用法 \<xyz 字位置: 字的開始 xyz\> 字位置: 字的結(jié)束 有關(guān) FINDSTR 常見表達法的詳細情況,請見聯(lián)機命令參考。
參數(shù)說明
/B 在一行的開始配對模式。
/E 在一行的結(jié)尾配對模式。
/L 按字使用搜索字符串。
/R 將搜索字符串作為一般表達式使用。
/S 在當前目錄和所有子目錄中搜索匹配文件。
/I 指定搜索不分大小寫。
/X 打印完全匹配的行。
/V 只打印不包含匹配的行。
/N 在匹配的每行前打印行數(shù)。
/M 如果文件含有匹配項,只打印其文件名。
/O 在每個匹配行前打印字符偏移量。
/P 忽略有不可打印字符的文件。
/OFF[LINE] 不跳過帶有脫機屬性集的文件。
/A:attr 指定有十六進位數(shù)字的顏色屬性。請見 “color /?”
/F:file 從指定文件讀文件列表 (/ 代表控制臺)。
/C:string 使用指定字符串作為文字搜索字符串。
/G:file 從指定的文件獲得搜索字符串。 (/ 代表控制臺)。
/D:dir 查找以分號為分隔符的目錄列表
strings 要查找的文字。
[drive:][path]filename 指定要查找的文件。
注:除非參數(shù)有 /C 前綴,請使用空格隔開搜索字符串。
? 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或 "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 尋找 "hello there"。
. 通配符: 任何字符 * 重復: 以前字符或類出現(xiàn)零或零以上次數(shù) ^ 行位置: 行的開始 $ 行位置: 行的終點 [class] 字符類: 任何在字符集中的字符 [^class] 補字符類: 任何不在字符集中的字符 [x-y] 范圍: 在指定范圍內(nèi)的任何字符 \x Escape: 元字符 x 的文字用法 <xyz 字位置: 字的開始 xyz> 字位置: 字的結(jié)束
示例
在當前目錄下的所有.txt文件中搜索包含字符串 “example” 的行,并顯示行號:
findstr /N "example" *.txt
在指定文件test.txt中搜索以 “Hello” 開頭的行:
findstr /B "Hello" test.txt
在當前目錄及其子目錄的所有文件中搜索不包含 “error” 的行:
findstr /S /V "error" *.*
搜索包含特定字符串且不區(qū)分大小寫的行:
findstr /I "Windows" file.txt
findstr命令功能強大,在處理文本搜索任務時非常方便,特別是在需要批量處理文件或進行簡單的文本篩選時,能大大提高工作效率。通過組合不同的參數(shù),可以實現(xiàn)各種復雜的搜索需求。
查找包含字符串的行
測試文件 a.txt aa123 bb234 cc345
E:\>more a.txt aa123 bb234 cc345 E:\>findstr aa a.txt aa123
查找包含字符串的行并忽略大小寫
使用 /I 參數(shù)忽略大小寫 測試文件 a.txt aa123 bb234 cc345 AA111 BB222 CC333
E:\>more a.txt aa123 bb234 cc345 AA111 BB222 CC333 E:\>findstr /I aa a.txt aa123 AA111
多字符條件查找
除非參數(shù)有 /C 前綴,請使用空格隔開搜索字符串。 ? 例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中尋找 "hello" 或 "there"。'FINDSTR /C:"hello there" x.y' 文件 x.y 尋找 "hello there"。 測試文件 a.txt aa 123 123 bb 234 cc 345 AA 111 BB 222 CC 333
E:\>more a.txt aa 123 123 bb 234 cc 345 AA 111 BB 222 CC 333 E:\>findstr "aa 123" a.txt aa 123 123 E:\>findstr /C:"aa 123" a.txt aa 123
使用正則查找字符串
使用 /R 參數(shù) + 正則查找內(nèi)容 測試文件 a.txt aa 123 123 bb 234 cc 345 AA 111 BB 222 CC 333 AAAAA BBBBB CCCCC
E:\>findstr /R "^aa" a.txt aa 123 E:\>findstr /R "22$" a.txt BB 222 E:\>findstr /R "[1-9]" a.txt aa 123 123 bb 234 cc 345 AA 111 BB 222 CC 333
E:\>findstr /R "[a-z]" a.txt aa 123 bb 234 cc 345 AA 111 BB 222 CC 333 AAAAA BBBBB CCCCC
獲取反選內(nèi)容
使用 /V 參數(shù) 測試文件 a.txt aa 123 123 bb 234 cc 345 AA 111 BB 222 CC 333 AAAAA BBBBB CCCCC
E:\>findstr /V "aa" a.txt 123 bb 234 cc 345 AA 111 BB 222 CC 333 AAAAA BBBBB CCCCC
到此這篇關(guān)于windows find findstr命令(cmd查找文檔中的特定字符)的文章就介紹到這了,更多相關(guān)cmd下查找字符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
NET LOCALGROUP命令詳解(將用戶添加到管理員組等)
NET LOCALGROUP 用于修改計算機上的本地組。當不帶選項使用本命令時,它會顯示計算機上的本地組。2010-09-09批處理BAT替換與截取字符串的用法t1=%a:~3%是什么意思
在bat編寫中,我們經(jīng)常越到t1=%a:~3%之類的代碼,這里簡單介紹下用法,需要的朋友可以參考下2013-05-05批處理入門手冊之批處理常用DOS命令篇(md、rd、ren、move)
這篇文章主要介紹了批處理入門手冊之批處理常用DOS命令篇(md、rd、ren、move),需要的朋友可以參考下2016-11-11批處理入門手冊之批處理常用DOS命令篇(find findstr)
這篇文章主要介紹了批處理入門手冊之批處理常用DOS命令篇(find findstr),需要的朋友可以參考下2016-11-11