Hur man söker efter en sträng i flera filer och returnerar namnen på filer i PowerShell

Hur Man Soker Efter En Strang I Flera Filer Och Returnerar Namnen Pa Filer I Powershell



PowerShell är ett Windows-verktyg som låter dig söka efter strängarna i flera filer. Dessutom returnerar den filnamnen som innehåller motsvarande sträng. PowerShell använder ' välj-sträng ' och ' sls ” cmdlets för att söka efter strängar i flera filer. Mer specifikt är 'select-string' ekvivalent med ' grepp ” kommando av Linux, som används för att hitta textmönster i filerna.

Det här inlägget kommer att visa olika metoder för att söka efter en sträng i flera filer.

Hur man söker efter en sträng i filer och får tillbaka namnen på filer i PowerShell?

Dessa värvade metoder kan användas för att söka efter en sträng i flera filer:







Metod 1: Sök efter en sträng i flera filer och returnera filnamn med 'select-string' Cmdlet

Strängen kan sökas i flera filer med hjälp av ' välj-sträng ' cmdlet. Den här cmdleten väljer strängarna och söker efter textmönster i flera filer enligt följande:



> Get-Childitem C:\Doc -återfall | välj-sträng -mönster 'LinuxHint'

Här:



  • ' Get-ChildItem ” cmdlet används för att hämta filen från den angivna platsen.
  • ' -återfall flaggan tvingar sökningen att hitta den matchande strängen i undermapparna.
  • ' | ” pipe operator används för att skicka kommandots utdata som indata för nästa kommando.
  • ' -mönster ” flaggan definierar den specifika strängen som ska sökas.

Produktion





Den givna utdata indikerar att enligt det angivna mönstret har den matchade strängen med de relevanta filnamnen returnerats.



Metod 2: Sök efter en sträng i flera filer och returnera filnamn med 'sls' Cmdlet

' sls ' är ett alias för ' välj-sträng ” cmdlet och fungerar också på samma sätt. den ' sls kommandot används med ' ls ' cmdlet.

Vi har gett ett exempel för att visa hur ' sls ” cmdlet för att söka efter en sträng i flera filer:

> ls C:\Doc - r | sls 'LinuxHint'

Här:

  • ' ls ” cmdlet används för att lista filerna och mapparna.
  • ' -r ' är aliaset för ' -återfall ” cmdlet används för att tvinga sökningen att hitta strängen i undermappar:

Det kan observeras att filnamn med den angivna strängen har hämtats framgångsrikt.

Slutsats

För att söka efter en sträng i flera filer i PowerShell, använd ' välj-sträng ' eller den ' sls ' cmdlets. I den första metoden, använd 'select-string' med 'Get-ChildItem' cmdleten, '-recurse' och '-pattern' flaggor och pipeline (|) som förenar utdata från ett kommando med input från det andra . I kommandot 'sls', använd alla alias för kommandona som användes i den första metoden. Eftersom 'sls' är aliaset för 'select-string'-cmdleten. Det här inlägget har presenterat flera metoder för att söka efter en sträng i flera filer.