Hur man använder kommandon FINDSTR och Select-String i Windows 11/10

Har du någonsin hört talas om FINDSTR och Select-String ? Select-String är en cmdlet som används för att söka efter text och mönstren i inmatningssträngar och filer. Det liknar grep på Linux & FINDSTRWindows . I den här guiden ser vi vad och hur man använder kommandon FINDSTR(FINDSTR ) och Select-String i Windows 11/10.

Hur man använder kommandona FindSTR och Select-String

 

Vad är FINDSTR och hur man använder FINDSTR

FINDSTR är ett kommando som används för att hitta specifik text i filer på Windows . Hitta(Find) sträng när den kortfattades blev FINDSTR . Det används också för att hitta filer med specifik text. Det finns olika FINDSTR- kommandon för att utföra olika funktioner. Den släpptes först med Windows 2000 Resource Kit med namnet qgrep . Det är ett inbyggt verktyg i Windows och dess fil är tillgänglig i .exe-format. FINDSTR söker inte efter nollbytes som mellanslag i Unicode -formatet.

Det finns några grundläggande regler för att använda findstr-kommandot på kommandotolken(Command Prompt) eller andra kommandoradstolkar(Command Line Interpreters) , som är utvecklade av Microsoft . Dom är:

  • Varje FINDSTR- kommando måste innehålla en sträng följt av ett filnamn.
  • Du kan använda bokstavliga tecken och meta-tecken i FINDSTR- kommandon. Bokstavliga tecken har ingen speciell betydelse i syntaxen. Bokstäver och siffror kallas bokstavliga tecken. Meta-tecken är symboler som har specifika betydelser för var och en. Följande är de accepterade metatecken i syntaxen och deras betydelser.

Meta-character

Value

.

Wildcard – Any character

*

Repeat – Zero or more occurrences of the previous character or class.

^

Beginning line position – Beginning of the line.

$

Ending line position – End of the line.

[class]

Character class – Any one character in a set.

[^class]

Inverse class – Any one character not in a set.

[x-y]

Range – Any characters within the specified range.

\x

Escape – Literal use of a meta-character.

\<string

Beginning word position – Beginning of the word.

string\>

Ending word position – End of the word.

  • Du bör skapa en textfil med sökkriterier på en separat rad när du vill söka efter flera strängar.
  • Använd(Use) mellanslag mellan strängar för att söka efter flera strängar i ett enda kommando förutom syntaxen med /c.

Parametrar och deras betydelse i findstr-syntax

Parameter

Beskrivning

/b

Matchar(Matches) textmönstret om det är i början av en rad.

/e

Matchar(Matches) textmönstret om det är i slutet av en rad.

/l

Bearbetar söksträngar bokstavligen.

/r

Bearbetar söksträngar som reguljära uttryck. Detta är standardinställningen.

/s

Söker(Searches) i den aktuella katalogen och alla underkataloger.

/i

Ignorerar skiftläge för tecknen när du söker efter strängen.

/x

Skriver ut linjer som matchar exakt.

/v

Skriver endast ut rader som inte innehåller en matchning.

/n

Skriver ut radnumret för varje rad som matchar.

/m

Skriver endast ut filnamnet om en fil innehåller en matchning.

/o

Skriver ut teckenförskjutning före varje matchande rad.

/s

Hoppar över filer med tecken som inte kan skrivas ut.

/off-line]

Hoppa inte över filer som har attributet offline satt.

/f:<fil>

Hämtar en fillista från den angivna filen.

/c:<sträng>

Använder den angivna texten som en bokstavlig söksträng.

/g:<fil>

Hämtar söksträngar från den angivna filen.

/d:<dirlist>

Söker(Searches) i den angivna listan med kataloger. Varje katalog måste separeras med semikolon (;), till exempel  dir1;dir2;dir3.

/a:<färgattribut>

Anger färgattribut med två hexadecimala siffror. Skriv  för ytterligare information.color
/?

<sträng>

Anger texten som ska sökas efter i  filnamnet(filename) . Nödvändig.

<span “>[\<enhet>:][<sökväg>]<filnamn>[…]

Anger platsen och filen eller filerna som ska sökas. Minst ett filnamn krävs.

/?

Visar Hjälp vid kommandotolken.

Användning av findstr-kommandon

1] För att söka efter ordet microsoft eller windows i filen xy bör du använda:

findstr microsoft windows x.y

2] För att söka efter ordet Microsoft Windows i filen xy, bör du använda:

findstr /c:"microsoft windows" x.y

I ovanstående kommando /canvänds för att söka efter den angivna texten "microsoft windows" i filen.

3] Om du vill hitta förekomsterna av ordet Microsoft med stort M i textfilen twc.txt, bör du använda:

findstr Microsoft twc.txt

4] Om du vill söka efter ett specifikt ord Microsoft i en katalog och dess underkataloger utan att lägga vikt vid typfall, använd:

findstr /s /i Microsoft *.*

I ovanstående syntax, /sanvänds för att söka i den aktuella katalogen och dess underkataloger. /ianvänds för att ignorera skiftläge (versal M) i strängen Microsoft .

5] Om du vill hitta rader som börjar med Till med flera mellanslag före ordet och vill visa radnumret där strängarna förekom, använd:

findstr /b /n /r /c:^ *To *.bas

6] Om du vill söka efter flera strängar i flera filer med sökkriterier i stringlist.txt och fillista i filelist.txt och du vill se resultaten lagrade i filen result.out, använd:

findstr /g:stringlist.txt /f:filelist.txt > results.out

7] Om du vill hitta filerna som innehåller ordet thewindowsclub i en viss katalog och dess underkataloger, använd:

findstr /s /i /m \<thewindowsclub\> *.*

8] Om du vill hitta filer som innehåller thewindowsclub och andra ord som börjar med liknande avhandling, termometer, etc, använd:

findstr /s /i /m \<the.* *.*

Det här är sätten du kan använda findstr-kommandon i kommandoradstolkar som kommandotolk(Command Prompt) , etc. Du måste förstå varje parameter och dess funktion såväl som meta-tecken och deras betydelse för att skriva syntax och använda findstr-kommandot regelbundet.

Vad är Select-String och dess parametrar

Föreställ(Imagine) dig att du skriver bitar av kod i PowerShell och att du tappade koll på vissa strängar och text i den PowerShell -filen. Du måste hitta det i många tusen rader kod inom tusentals strängar och ord. Där kommer kommandot Select-String som låter dig söka efter strängar och text i dessa PowerShell -indatafiler. Det liknar grep på Linux .

Select-String är en cmdlet som används för att söka efter text och mönstren i inmatningssträngar och filer. Det liknar grep på Linux och FINDSTRWindows . När du använder Select-String för att söka efter viss text, hittar den den första matchningen på varje rad och visar filnamn, radnummer och hela raden där matchningen inträffade. Det kan användas för att hitta flera matchningar per rad eller för att visa text före eller efter matchningen, eller få resultat i booleska uttryck som Sant(True) eller Falskt(False) . Du kan också använda det för att visa all text förutom matchningen av uttrycket du använd i kommandot. WildCards du(WildCards) använder i FINDSTRkan också användas i Select-String . Select -String(Select-String) fungerar också med olika filkodningar som ASCII , Unicode , etc. Den använder Byte-Order-Mark ( BOM ) för att bestämma filkodningen. Om BOM saknas i filen kommer Select-String att anta filen som UTF8 .

Parametrar för Select-String

Microsoft föreställde och utvecklade nedanstående parametrar som ska användas i syntax.

-AllMatches

Den används för att söka efter alla matchningar på en rad i motsats till den första matchningen på raden Select-Sting normalt gör.

-CaseSensitive

Det visar att matchningen är skiftlägeskänslig. Som standard är Select-String inte skiftlägeskänslig.

-Context

Den används för att fånga det specificerade antalet rader du anger före och efter matchens rad. Om du anger 1, fångar den en rad före och efter matchen.

-Culture

Det finns vissa kulturer som ordinal, invariant, etc i kodning. Denna parameter används för att specificera kulturen i syntaxen.

-Encoding

Den används för att ange kodningsformatet för texten i filer som ASCII , UTF8 , UTF7 , Unicode , etc.

-Exclude

Denna parameter används för att utesluta viss text i filen.

-Include

Denna parameter används för att inkludera viss text i filen.

-InputObject

Den används för att ange den text som ska sökas.

-List

Den används för att hämta listan över filer som matchar texten.

-LiteralPath

Den används för att ange sökvägen för sökningen.

-NoEmphasis

I allmänhet markerar Select-String matchningen i filen. Denna parameter används för att undvika markering.

-NotMatch

Den används för att hitta texten som inte matchar det angivna mönstret.

-Path

Den används för att ange sökvägen som ska sökas tillsammans med användningen av jokertecken.

-Pattern

Parametern används för att hitta matchningen i varje rad som ett mönster.

-Quiet

Denna parameter används för att få utdata i booleska(Boolean) värden som True eller False .

-Raw

Den används för att bara se matchande objekt istället för Match info.

-SimpleMatch

Parametern används för att ange en enkel matchning snarare än en matchning med reguljära uttryck.

Skillnad mellan FINDSTR och Select-String

FINDSTR är en körbar fil före PowerShell -eran som används för att söka efter text och strängar i filer. Select-String är en PowerShell -cmdlet som används för att söka efter text och mönster i filer. Jämfört med FINDSTR är Select-String den mer kraftfulla och komplexa cmdleten som visar mycket information om matchen.

Vad är PowerShell- motsvarigheten till grep?

Select-String är PowerShell - motsvarigheten till grep som är tillgänglig på Windows . Den fungerar på samma sätt som grep gör och den ger detaljerad information om matchningen enligt de parametrar vi använder i syntaxen.

Fungerar FINDSTR på Word-filer?

Ja, FINDSTR fungerar på Word - filer. Men den kan inte visa hitta matchningarna även om strängarna du angav finns där i filen. Det kan ge dig resultat i binära filer i .doc-format men inte i .docx-format av okända tekniska skäl.

Relaterad läsning(Related Read) : Så här kontrollerar du PowerShell-versionen i Windows.(How to check the PowerShell version in Windows.)



About the author

Jag är en erfaren Windows 10 och 11/10 expert, med erfarenhet av både webbläsare och smartphone-appar. Jag har varit mjukvaruingenjör i över 15 år och har arbetat med ett antal stora namnföretag, inklusive Microsoft, Google, Apple, Ubisoft med flera. Jag har också undervisat i Windows 10/11-utveckling på högskolenivå.



Related posts