Nybegynnerguide

Hvordan finne streng i en fil på Linux

Hvordan finne streng i en fil på Linux

Noen ganger må du kanskje søke i et bestemt ord eller en streng i en fil. For å gjøre dette har nesten alle tekstredigerere noen GUI-implementering for å hjelpe deg. Men for Linux-brukere er det mye mer produktivt og praktisk å gjøre disse søkene fra kommandolinjen.

Faktisk har Linux et kraftig og praktisk kommandolinjeverktøy - grep-kommandoen for dette formålet. Ved å bruke dette kan du søke etter en bestemt streng ikke bare i en fil, men flere filer for et mer omfattende søk.

Før du kan bruke grep-kommandoen, må du imidlertid vite hvordan den fungerer og syntaksen. Og så, for å hjelpe deg, har vi satt sammen en detaljert guide om hvordan du bruker grep-kommandoen for å hjelpe deg med å finne strenger i en fil på Linux. Ikke bare det, men vi vil også vise deg hvordan du søker etter strenger i filer via kommandolinjeditoren og GUI-teksteditoren.

Merk: For denne opplæringen har vi opprettet to demo-tekstfiler - demofile.txt og demofile02.tekst. Vi bruker grep-kommandoen for å finne strenger i disse filene. Her er en titt på innholdet i begge disse filene, slik at du vet hvordan kommandoene fungerer.

Innhold av demofile.tekst:

Dette er en demofil som jeg har laget for demonstrasjonsformål. Dette inneholder en haug med ord for å lage setninger som til slutt ender med en periode. Dette er for grep-eksemplet.

Innhold av demofile02.tekst:

Dette er en annen demofil som jeg vil bruke til denne demonstrasjonen. Denne ligner på den siste, da den inneholder tre linjer med noen ord. Denne andre filen vil bidra til å gi noen varierte eksempler.

Finne strenger i en fil via kommandolinjen (GREP-metoden)

GREP er en forkortelse for Global Regular Expression Print. Det er "globalt" fordi det kan søke i hele Linux-systemet ditt. "Regular Expression" er det vi kaller tekstsøkemønsteret vi skal bruke sammen med kommandoen. Og "Skriv ut" betyr at den vil skrive ut søkeresultatene så snart den finner en kamp basert på det angitte regulære uttrykket.

Nå som du har en ide om hva grep-kommandoen er, la oss se hvordan vi kan bruke den. Her er syntaksen for å bruke grep-kommandoen for å finne en streng i en fil:

$ grep streng filnavn

Du må erstatte uttrykket "streng" med "vanlig uttrykk" du vil bruke, og "filnavn" med navnet på filen du vil søke etter strengen i.

#1. Bruker GREP for å finne en streng i en fil

La oss si at hvis du vil søke etter ordet “demonstrasjon” i filen “demofile.txt, ”må du bruke denne kommandoen:

$ grep demonstrasjon demofile.tekst

Som gir produksjonen:

Bruke GREP til å finne en streng i en fil

Som du kan se, henter kommandoen hele linjen som inneholder den angitte strengen. Hvis den angitte strengen forekommer i flere linjer, vil den skrive ut alle dem. La oss se om det fungerer ved å søke etter strengen "Dette" i "demofilen.txt ”-fil.

$ grep Denne demofilen.tekst

Og produksjonen er:

grep er store og små bokstaver

Legg merke til hvordan du brukte strengen “dette” først, og den skrev ikke ut noe. Det er først når du skriver inn "Dette" at du får en kamp. Som sådan bør du huske at grep-kommandoen er mellom store og små bokstaver.

For å ignorere saken, må du angi denne kommandoen i stedet:

$ grep -i denne demofilen.tekst

Hvordan ignorere sak i grep-kommando

Som du kan se nå, selv om den oppgitte strengen er "dette", samsvarer kommandoen med "Dette" og skriver ut svaret.

# 2. Bruker GREP for å finne den samme strengen i flere filer

For å søke i flere filer etter den angitte strengen, er alt du trenger å gjøre å legge til kommandoen med alle filnavnene.

Her er et eksempel. Her søker vi etter strengen "ord" i filene "demofile.txt ”og“ demofile02.tekst":

$ grep ord demofile.txt demofile02.tekst

Og produksjonen er:

Bruke GREP for å finne samme streng i flere filer

Som du kan se, vil ikke grep-kommandoen vise deg det matchede resultatet, men også merke hvilken fil det er fra.

# 3. Bruker GREP for å finne flere strenger i flere filer

Du kan også bruke grep til å finne flere strenger i enkelt- eller flere filer. Dette er syntaksen du må bruke:

$ grep -E 'mønster1 | mønster2 | mønster3 |…' filnavn1 filnavn2 filnavn3 .. 

Alternativet -E som vi skrev inn behandler følgende mønster som et utvidet regulært uttrykk, som lar oss søke etter flere strenger.

La oss nå bruke det vi lærte å søke etter strengene "fil" og "ord" i de to filene: "demofile.txt ”og“ demofile02.tekst":

$ grep -E 'fil | ord' demofile.txt demofile02.tekst

Og produksjonen er:

Bruke GREP til å finne flere strenger i flere filer

# 4. Tips og triks for å bruke GREP-kommandoen til å finne strenger

Til tross for sin generelle enkelhet er grep-kommandoen ekstremt kraftig. Her er noen måter du kan bruke grep-kommandoen for avanserte strengesøk.

Visste du for eksempel at du kan bruke grep-kommandoen med jokertegn? La oss vurdere denne kommandoen:

$ grep word demofile *

Som gir produksjonen:

grep og jokertegn

Som du kan se, har kommandoen søkt etter og viser nå resultatene for begge filene “demofile.txt ”og“ demofile02.tekst". Dette er fordi vi brukte stjernekortet (*) jokertegnet som brukes til å representere en eller flere forekomster av hvilken som helst karakter.

For mer informasjon om de forskjellige typene jokertegn og hvordan du bruker dem, kan du sjekke ut denne lesingen: Jokertegn i Linux forklart med 10 eksempler.

Når du går videre, støtter grep-kommandoen også mange kommandovalg. Vi har allerede sett to av dem nå:

Det er mange andre grep-kommandoalternativer som:

Alt vi har diskutert til nå, bør være nok til å søke etter strenger i filer. Men hvis du vil mestre GREP-kommandoen, anbefaler vi at du sjekker ut disse to artiklene:

Finn strenger i en fil via kommandolinjen (Bruke kommandolinjeditorer)

Grep-kommandoen er et kraftig verktøy som kan hjelpe deg med å utføre avanserte søk for å matche strenger med flere filer og kataloger på din Linux-PC. Men hvis du allerede har filen åpen i en kommandolinje tekstredigerer, er det ikke nødvendig å avslutte filredigereren og bruke grep-kommandoen.

Faktisk kommer de fleste kommandolinje-tekstredigerere allerede med en innebygd søkefunksjonalitet.

Nå er det utenfor denne opplæringsområdet å dekke hver eneste kommandolinjeditor og hvordan du finner strenger i en fil som er åpnet i den tekstredigereren. Som sådan vil vi se på de to mest populære kommandolinjene tekstredigerere som du er nødt til å bruke:

Hvordan finne en tekststreng i nano?

La oss si at du har filen åpnet i nano-teksteditoren. I så fall er alt du trenger å gjøre å trykke Ctrl + W, og du vil finne en ny ledetekst for å skrive inn strengen.

Når du er ferdig, trykk Enter, og markøren lander på det første tegnet i den første forekomsten av den søkte strengen. Du kan fortsette å trykke Enter for å hoppe til de andre strenginstansene, hvis noen.

Hvordan finne en tekststreng i nano

Hvordan finne en tekststreng i vim?

Hvis du bruker vim-teksteditoren, kan du skrive inn: / etterfulgt av strengen du vil søke og deretter trykke Enter. På samme måte som før, vil den lande markøren på den første forekomsten av den søkte strengen. Også her kan du fortsette å trykke Enter for å hoppe til de andre forekomster av strengen.

Hvordan finne en tekststreng i vim

Finn strenger i en fil via kommandolinjen (GUI-metoden)

Det er til og med en GUI-metode for å finne strenger i en fil. I hovedsak ligner den på "finn og erstatt" -funksjonen du får se på Microsoft Word; Det vil imidlertid variere avhengig av hvilket GUI-tekstredigeringsprogram du bruker.

Nå, som du vet, er det hundrevis av tekstredigerere, og det er ikke praktisk å dekke dem alle her. Imidlertid fungerer alle på samme måte, så du vil ikke ha noe problem å jobbe med andre når du vet hvordan en av dem fungerer.

For denne opplæringen vil vi bruke standard tekstredigeringsprogrammet som følger med Ubuntu, kalt - “Text Editor.”

Hvordan finne streng ved hjelp av GUI-tekstredigerere

Som du kan se på bildet, har vi åpnet demofilen.txt på redaktøren. Nå klikker vi på rullegardinmenyen, som avslører alternativer for "Finn" og "Finn og erstatt", som vi kan bruke til å finne strenger i den åpnede filen.

Innpakning

Så det fører oss til slutten av denne korte opplæringen om å finne strenger i en fil på Linux. Vi håper du finner dette nyttig, og at det hjalp deg med å bli mer produktiv med hvordan du søker etter bestemte strenger på Linux-systemet ditt.

Hvis du har spørsmål, kan du legge igjen en kommentar, så hjelper vi deg med spørsmålene dine.

Hvis du begynner med Linux, ikke glem å sjekke ut vår Linux-serie. Den er fylt med mange fantastiske veiledninger, veiledninger og guider, designet for nybegynnere og mer erfarne brukere for å hjelpe deg med å bli en ekte Linux-strømbruker.

Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...
Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...