Findstr: Примери и съвети с помощта на този удобен CMD Windows инструмент

За непосветените инструмент за търсене на шаблони като findstr може да изглежда безполезен. Но когато работите с генерирани от системата лог файлове или изходи от командния ред, съдържащи стотици редове текст, findstr е точно инструментът, от който се нуждаете.

Потребителите на операционна система Linux вече биха били запознати с невероятната полезност на командата Grep, а findstr(Grep) изпълнява подобна роля в Microsoft Windows . Можете да го комбинирате с други команди(other commands) с помощта на тръби или просто да го стартирате директно, за да анализирате множество текстови файлове. Нека да разгледаме как работи findstr с няколко примера.

Използване на командата Findstr

Основният синтаксис е прост – findstr , къдетое моделът за търсене ие адресът на файла, в който да търсите. Отворете командния ред(Command Prompt) и опитайте.

findstr SFC example1.txt

Тази команда ще намери и изведе всички редове, съдържащи низа за търсене SFC . Имайте предвид, че по подразбиране findstr е чувствителен към малки и големи букви, така че всяко споменаване на SFC няма да бъде съпоставено.

Параметри

Можете допълнително да персонализирате как работи findstr, като включите незадължителни параметри. Ключове като /B или /I променят поведението на findstr, налагайки допълнителни условия върху търсенето. Например:

findstr /I SFC example1.txt

Включването на /I като параметър прави търсенето нечувствително към главни и малки букви, което позволява всички споменавания на термина да съвпадат, независимо от изписването им с главни букви. Можете да намерите списъка с всички параметри на findstr в официалните документи на Microsoft(official Microsoft docs) .

Модели по избор

Параметрите не са единственият начин, по който можете да персонализирате findstr. Заграждането на <string> в кавички, например, ви позволява да посочите множество шаблони, което ви дава съвпадение, ако бъде намерен някой от текстовите низове.

findstr “SFC DISM” example1.txt

Горното ще върне съвпадащи редове, съдържащи някой от термините. Това го прави полезен, когато търсите споменаване на елемент с различни имена.

Регулярни изрази

Findstr може да търси в множество файлове. Промянакъм регулярен израз кара командата да търси указания шаблон във всички съвпадащи файлове.

findstr SFC *.txt

Използването на заместващ знак съпоставя регулярния израз с всички текстови файлове в текущата директория и нейните поддиректории. Резултатите също са разделени по имена на файлове, което ви позволява да видите кой ред произхожда от кой файл.

Тръби

Подобно на повечето cmd команди, findstr може да се използва и при изхода на други команди. Просто(Just) добавете канал след края на целевата команда и извикайте findstr без a.

dir | findstr .txt

Това изпълнява търсене с findstr на изхода на командата dir, връщайки списъка с файлове, завършващ с .txt . Разбира се, този конкретен пример е безполезен на практика, тъй като dir вече може да намира файлове от същия тип с регулярен израз.

Човек може също да вземе по-дългия път на пренасочване на изхода към текстов файл(redirecting the output to a text file) и след това да използва findstr върху текстовия файл, но е по-лесно да се отреже посредникът.

Приложения на Findstr в Windows

Очевидните употреби на findstr са очевидни само от синтаксиса. Можете да търсите текстови файлове с конкретен текстов низ или да видите дали даден низ се съдържа във файл.

Това, макар и теоретично полезно, рядко се използва извън редки случаи. В ерата на облачните услуги като Google Docs повечето хора вече нямат много текстови файлове.

Действителните приложения на findstr са малко по-фини и включват по-мощни резултати. Ето някои от по-интересните примери.

Намиране на специфични типове файлове

Командата dir вече включва опцията за търсене на имена на файлове с помощта на регулярни изрази. Но с findstr можете да търсите файлове, които споделят други атрибути, като час или дата на създаване.

Да предположим(Suppose) , че е възникнала грешка в 18:43 и искате да намерите всички лог файлове, създадени по това време. Само с командата dir ще трябва ръчно да пресеете резултатите или да получите всички регистрационни файлове и да ги сравните. Използвайки findstr, това се превръща в проста команда.

dir | findstr 06:43

Можете да опитате същия трик, за да намерите файлове, създадени на определена дата, или да получите списък с директории.

dir | findstr DIR

Филтриране на мрежова информация(Network Information) с Netstat

Netstat е удобна команда на Windows , която ви дава цялата информация за мрежовите връзки на компютъра ви - твърде много информация, къде идва findstr.

Прехвърлянето на изхода на netstat в findstr ви позволява да търсите връзки със специфични свойства. Например, по този начин можете да получите списък с всички установени връзки.

netstat | findstr ESTABLISHED

Този трик е полезен при диагностициране на мрежови проблеми. Можете дори да използвате findstr с PID на приложение, за да намерите всички връзки, отворени от определен процес.

netstat -o | findstr 13120

Получаване на конкретни IP адреси

Командата ipconfig ви позволява да видите подробности за всички мрежови интерфейси на системите, включително IP адреси. Можете да използвате findstr, за да извлечете определен тип IP адрес, без да се налага да превъртате през цялото нещо.

ipconfig | findstr Temporary

Можете да разширите този метод, за да получите всякаква информация от ipconfig, от подмрежовите маски до адресите на шлюза.

Анализиране на файлове със скриптове

На какъвто и програмен език да кодирате, скриптовите файлове в крайна сметка са само текст. Това означава, че можете да използвате findstr за анализиране на скриптове и извличане на конкретни секции, без да претърсвате целия код.

Да кажем(Say) , че искаме да видим как операторът if е бил използван в определен скрипт. Можем да използваме следната команда:

findstr ако script.ahk(findstr if script.ahk )

Това не само ще покаже редовете, използващи оператора if, но и ще ни покаже използваните изрази. Можете също така да включите параметъра /N за показване на номерата на редовете, което е много удобно за файлове със скриптове.

findstr /N if script.ahk

Струва ли си да използвате Findstr?

Основната трудност при навигацията в интерфейса на командния ред е количеството текст, което човек трябва да пресее. Findstr е основен инструмент за извличане на полезна информация и филтриране на боклуци.

Тъй като всички терминални команди дават текстово базиран изход, findstr винаги може да се използва за намиране на съответните данни. От отстраняване на мрежови проблеми(troubleshooting network issues) до намиране на правилните файлове, всяко действие става по-ефективно с findstr.

Дори извън синергията си с други команди, findstr е полезна за способността си да преминава през съдържанието на текстови файлове. Можете да намерите конкретни грешки в машинно генерирани регистрационни файлове или да извлечете части от код в сложен скрипт.

Накратко, findstr е незаменим инструмент в арсенала на всеки напреднал потребител на Windows , особено този, който възнамерява да се запознае с интерфейса на командния ред.



About the author

Аз съм компютърен професионалист, който има опит в работата със софтуер на Microsoft Office, включително Excel и PowerPoint. Имам опит и с Chrome, който е браузър, собственост на Google. Моите умения включват отлична писмена и устна комуникация, решаване на проблеми и критично мислене.



Related posts