Findstr: Príklady a tipy pomocou tohto praktického nástroja CMD Windows

Pre nezasvätených sa môže nástroj na vyhľadávanie vzorov ako findstr zdať zbytočný. Ale keď pracujete so súbormi protokolu generovanými systémom alebo s výstupmi príkazového riadka, ktoré obsahujú stovky riadkov textu, findstr je práve nástroj, ktorý potrebujete.

Používatelia operačného systému Linux už poznajú neuveriteľnú pomôcku príkazu Grep a findstr plní podobnú úlohu v Microsoft Windows . Môžete ho skombinovať s inými príkazmi(other commands) pomocou potrubí alebo ho jednoducho spustiť priamo a analyzovať viacero textových súborov. Pozrime sa, ako findstr funguje na niekoľkých príkladoch.

Pomocou príkazu Findstr

Základná syntax je jednoduchá – findstr , kdeje vzor, ​​ktorý treba hľadať, aje adresa súboru, v ktorom sa má vyhľadávať. Otvorte príkazový riadok(Command Prompt) a skúste to.

findstr SFC example1.txt

Tento príkaz nájde a zobrazí všetky riadky obsahujúce hľadaný reťazec SFC . Všimnite si, že v predvolenom nastavení findstr rozlišuje veľké a malé písmená, takže žiadne zmienky o SFC sa nebudú zhodovať.

Parametre

Ako funguje findstr môžete ďalej prispôsobiť zahrnutím voliteľných parametrov. Prepínače ako /B alebo /I upravujú správanie funkcie findstr a ukladajú ďalšie podmienky pre vyhľadávanie. Napríklad:

findstr /I SFC example1.txt

Zahrnutím /I ako parametra sa pri vyhľadávaní nerozlišujú malé a veľké písmená, čo umožňuje zhodu všetkých zmienok o výraze bez ohľadu na ich veľké a malé písmená. Zoznam všetkých parametrov findstr nájdete v oficiálnych dokumentoch Microsoftu(official Microsoft docs) .

Voliteľné vzory

Parametre nie sú jediným spôsobom, ako si môžete prispôsobiť findstr. Uzavretie <reťazca> do úvodzoviek vám napríklad umožňuje špecifikovať viacero vzorov, čím získate zhodu, ak sa nájde niektorý z textových reťazcov.

findstr „SFC DISM“ example1.txt

Vyššie uvedené vráti zodpovedajúce riadky obsahujúce niektorý z výrazov. To je užitočné pri hľadaní zmienky o položke s rôznymi názvami.

Regulárne výrazy

Findstr je schopný prehľadávať viacero súborov. Zmenana regulárny výraz spôsobí, že príkaz vyhľadá zadaný vzor vo všetkých súboroch, ktoré sa zhodujú.

findstr SFC *.txt

Použitie zástupného znaku priradí regulárny výraz ku všetkým textovým súborom v aktuálnom adresári a jeho podadresároch. Výsledky sú tiež rozdelené podľa názvov súborov, čo vám umožní vidieť, ktorý riadok pochádza z ktorého súboru.

Rúry

Ako väčšina príkazov cmd, findstr možno použiť aj na výstup iných príkazov. Stačí(Just) pridať potrubie za koniec cieľového príkazu a vyvolať findstr bez a.

dir | findstr .txt

Toto spustí vyhľadávanie findstr na výstupe príkazu dir a vráti zoznam súborov končiaci príponou .txt(.txt) . Samozrejme, tento konkrétny príklad je v praxi zbytočný, pretože dir už dokáže nájsť súbory rovnakého typu s regulárnym výrazom.

Dá sa použiť aj dlhšia cesta presmerovania výstupu do textového súboru(redirecting the output to a text file) a následného použitia findstr v textovom súbore, ale je jednoduchšie prerušiť sprostredkovateľa.

Aplikácie Findstr v systéme Windows

Zrejmé použitie findstr je zrejmé už zo samotnej syntaxe. Môžete vyhľadať textové súbory so špecifickým textovým reťazcom alebo zistiť, či je konkrétny reťazec obsiahnutý v súbore.

Toto, hoci je teoreticky užitočné, sa zriedkavo používa mimo zriedkavých prípadov. Vo veku cloudových služieb, ako sú Dokumenty Google(Google Docs) , už väčšina ľudí nemá veľa textových súborov.

Skutočné aplikácie findstr sú o niečo jemnejšie a prinášajú výkonnejšie výsledky. Tu sú niektoré zo zaujímavejších príkladov.

Hľadanie konkrétnych typov súborov

Príkaz dir už obsahuje možnosť vyhľadávania názvov súborov pomocou regulárnych výrazov. Ale pomocou findstr môžete vyhľadávať súbory zdieľajúce iné atribúty, ako je čas alebo dátum vytvorenia.

Predpokladajme(Suppose) , že o 18:43 nastala chyba a chcete nájsť všetky súbory denníka vytvorené v tom čase. Len pomocou príkazu dir budete musieť manuálne preosiať výsledky alebo získať všetky protokolové súbory a porovnať ich. Pomocou findstr sa z toho stane jednoduchý príkaz.

dir | findstr 06:43

Rovnaký trik môžete skúsiť nájsť súbory vytvorené v určitý dátum alebo získať zoznam adresárov.

dir | findstr DIR

Filtrovanie informácií o sieti(Network Information) pomocou Netstat

Netstat je užitočný príkaz systému Windows(Windows) , ktorý vám poskytuje všetky informácie o sieťových pripojeniach vášho počítača – príliš veľa informácií, k čomu prichádza findstr.

Prepojenie výstupu netstat do findstr vám umožňuje vyhľadávať spojenia so špecifickými vlastnosťami. Takto môžete napríklad získať zoznam všetkých nadviazaných spojení.

netstat | findstr ESTABLISHED

Tento trik je užitočný pri diagnostike problémov so sieťou. Môžete dokonca použiť findstr s PID aplikácie na nájdenie všetkých spojení otvorených konkrétnym procesom.

netstat -o | findstr 13120

Získanie špecifických IP adries

Príkaz ipconfig vám umožňuje zobraziť podrobnosti o všetkých sieťových rozhraniach systémov vrátane IP adries. Findstr môžete použiť na extrahovanie konkrétneho typu IP adresy bez toho, aby ste museli prechádzať celú vec.

ipconfig | findstr Temporary

Túto metódu môžete rozšíriť na získanie akýchkoľvek informácií z ipconfig, od masiek podsiete až po adresy brán.

Analýza súborov skriptov

Bez ohľadu na programovací jazyk, v ktorom kódujete, súbory skriptov sú v konečnom dôsledku iba textové. To znamená, že môžete použiť findstr na analýzu skriptov a načítanie konkrétnych sekcií bez toho, aby ste museli prehľadávať celý kód.

Povedzme(Say) , že chceme vidieť, ako bol príkaz if použitý v konkrétnom skripte. Môžeme použiť nasledujúci príkaz:

findstr if script.ahk

Nielenže nám to zobrazí riadky pomocou príkazu if, ale ukáže nám aj použité výrazy. Môžete tiež zahrnúť parameter /N na zobrazenie čísel riadkov, čo je veľmi užitočné pre súbory skriptov.

findstr /N if script.ahk

Oplatí sa Findstr používať?

Hlavným problémom pri navigácii v rozhraní príkazového riadku je množstvo textu, ktoré je potrebné preosiať. Findstr je základným nástrojom na získavanie užitočných informácií a filtrovanie nevyžiadanej pošty.

Pretože všetky príkazy terminálu poskytujú textový výstup, findstr možno vždy použiť na nájdenie relevantných údajov. Od odstraňovania problémov so sieťou(troubleshooting network issues) až po hľadanie správnych súborov, každá akcia je efektívnejšia s findstr.

Dokonca aj mimo synergie s inými príkazmi je findstr užitočný pre svoju schopnosť prechádzať obsah textových súborov. Špecifické chyby môžete nájsť v strojovo generovaných protokolových súboroch alebo môžete získať časti kódu v zložitom skripte.

Stručne povedané, findstr je nepostrádateľným nástrojom v arzenáli každého pokročilého používateľa systému Windows(Windows) , najmä toho, kto sa chce zoznámiť s rozhraním príkazového riadka.



About the author

Som softvérový vývojár s viac ako 10-ročnými skúsenosťami. Špecializujem sa na programovanie pre Mac a napísal som niekoľko tisíc riadkov kódu pre rôzne aplikácie Mac, vrátane, ale nie výlučne: TextEdit, GarageBand, iMovie a Inkscape. Mám skúsenosti aj s vývojom pre Linux a Windows. Moje zručnosti vývojára mi umožňujú písať vysokokvalitné a komplexné návody pre rôzne platformy vývoja softvéru – od macOS po Linux – vďaka čomu sú moje návody ideálnou voľbou pre tých, ktorí sa chcú dozvedieť viac o nástrojoch, ktoré používajú.



Related posts