příkaz Findstr v systému Windows je užitečný pro vyhledávání konkrétního textového vzoru v souborech. Jeho funkce je podobná příkazu grep v operačním systému Linux. Níže najdete syntaxi „findstr“ pro různé případy použití.
Vyhledávání textový řetězec v souboru:
findstr pattern filename
například, k hledání řetězec „Windows“ v textovém souboru CLItips.txt, příkaz by byl níže.
findstr Windows CLItips.txt
Všimněte si, že výše uvedený příkaz hledá přesně „Windows“., Považuje případ za výchozí. Takže pokud máte řádek, který má slovo „windows“, nebude vytištěn na výstupu výše uvedeného příkazu.
ignorovat textové případ:
můžete přidat /i přepnout ignorovat případ ve vyhledávání. Takže pokud spustíte ‚ findstr windows / i CLItips.txt‘, to dělá případ necitlivé vzor párování.
vyhledejte některá z daných slov
Chcete – li vytisknout řádky, které mají některou z daných slov set, můžete přiložit seznam slov ve dvojitých uvozovkách v příkazu findstr.,
findstr "word1 word2 word3.." filename.txt
findstr "Apple Orange" fruits.txt
Tento příkaz vytiskne řádek, pokud má slovo „Apple“ nebo slovo „Orange“ nebo obě slova.
Vyhledávání pro vzorek s více slov
findstr /C:"word1 word2 word3..." filename
/C znamená, že vyhledávací vzor musí být uzavřeno doslova.
například pro vyhledávání řetězce „Apple Ball Cat“ v knize souborů.txt, příkaz by byl níže
findstr /C:"Apple Ball Cat" Book.txt
vyhledávání pomocí regulárních výrazů
pomocí přepínače findstr /R můžete použít regulární výrazy. Typický příkaz by byl níže.,
findstr /R pattern filename.txt
zde lze vzor zadat pomocí regulárních výrazů.
příklady:
vyhledejte výskyt všech slov končících “ xyz “ v souboru.
findstr /R *xyz filename.txt
Vyhledávání textu ve všech souborech v aktuálním adresáři
můžete použít zástupné znaky ‚*“ určit, že všechny soubory v adresáři by měly být prohledány pro daný řetězec.
například pro vyhledávání „windows“ ve všech souborech v aktuálním adresáři můžete použít níže uvedený příkaz.,
findstr /I windows *
vyhledat všechny textové soubory v adresáři C:\data:
findstr /I windows C:\data\*.txt
Hledat pro více řetězců
Pokud potřebujete k hledání více řetězců, pak můžete dělat, že s níže dávkový skript.
@echo offfor /F %%i in (pattern.txt) do (echo Files containing %%ifindstr /M /C:%%i /S *.txt)
‚vzor.txt ‚ je soubor, který má řetězce (jeden na řádek), které je třeba hledat. Výše uvedený příkaz prohledává pouze textové soubory. Příkaz findstr ve skriptu můžete přizpůsobit vyhledávání v souborech s jinými rozšířeními. Přidání volby‘ / M ‚ do příkazu způsobí tisk pouze názvů souborů.,
vytiskněte pouze řádky, kde je daný řetězec na začátku řádku.
můžete přidat / B přepínač pro označení, že zadaný řetězec by měl být na začátku řádku.
findstr /B /C:windows CLItips.txt
Tisknout pouze řádky, kde se daný řetězec je na konci řádku,
findstr /E /C:windows CLItips.txt
Tiskové čísla řádků pro všechny odpovídající řádky.
můžete přidat /n přepínač do příkazu findstr pro tisk čísel řádků pro odpovídající řádky.
vytiskněte pouze názvy souborů
finstr /M /C:"pattern" *.log
Tento příkaz vyhledá vzor ve všech *.,log soubory, a pak vytiskne pouze názvy souborů, které mají vzor. I když má soubor více výskytů vzoru, je vytištěn pouze jednou findstr.