findstr /v "black" File1.txt
上述 DOS 指令將顯示「File1.txt」中與字串「black」不符的內容。
如果我需要過濾“黑”和“白”字,如何修改此命令?
答案1
如何過濾“黑”和“白”字樣?
以下命令將顯示包含以下內容的所有行"black"
也不 "white"
:
findstr /v "black white" blackwhite.txt
以下命令將顯示包含以下內容的所有行"black"
或者 "white"
:
findstr "black white" blackwhite.txt
以下命令將顯示包含以下內容的所有行確切地 "black white
」:
findstr /c:"black white" blackwhite.txt
以下命令將顯示包含以下內容的所有行"black"
和 "white"
:
findstr "white" blackwhite.txt | findstr "black"
筆記:
當搜尋字串包含多個單字(以空格分隔)時,
findstr
將傳回包含任一單字 (OR) 的行。文字搜尋 (
/C:string
) 將反轉此行為並允許搜尋短語或句子。文字搜尋還允許搜尋標點符號字元。
範例資料檔(blackwhite.txt):
red
black
white
blue
black white
black and white
輸出範例:
F:\test>findstr /v "black white" blackwhite.txt
red
blue
F:\test>findstr "black white" blackwhite.txt
black
white
black white
black and white
F:\test>findstr /c:"black white" blackwhite.txt
black white
F:\test>findstr "white" blackwhite.txt | findstr "black"
black white
black and white
進一步閱讀
- Windows CMD 命令列的 AZ 索引- 與 Windows cmd 行相關的所有內容的絕佳參考。
- 查找字串- 搜尋文件中的字串。
答案2
如果您需要顯示所有帶有“black”或“white”字樣的行,請刪除命令中的 /v 。
嘗試:findstrwhiteFile1.txt或findstrblackFile1.txt或findstr“blackwhite”File1.txt
/V 運算元將列印不包含搜尋字串的所有行。
輸入 findstr /?有關如何使用 findstr 的更多資訊。
答案3
想補充如何在 Windows 上使用 findstr 和 stdout 進行多次搜尋。
以下是僅列出網路介面名稱及其 IP 位址的方法:
ipconfig /all | findstr /i /L /c:"Ethernet" /c:"IPv4"
微軟文件詳細說明每個參數
/i
搜尋字串時忽略字元的大小寫。/l
按字面意思處理搜尋字串。/c:<string>
使用指定的文字作為文字搜尋字串。
答案4
這是另一個使用不同輸出方法的範例,而不僅僅是直接文件搜尋。例如,檢查網路連接埠狀態,其中port = 98765
和status = ESTABLISHED or LISTENING
。
例如,每五秒鐘運行一次 netstat,然後將 netstat 輸出傳送到 FIND (也可以使用FINDSTR
),然後將這些結果傳送到 findstr 以在連接埠處於某種狀態時進行過濾(在本例中為ESTABLISHED or LISTENING
)。
netstat -an 5 | find "98765" | findstr "ESTABLISHED LISTENING"
TCP 192.168.123.456:57349 10.10.12.34:98765 ESTABLISHED