Hvordan finne den siste forekomsten av en streng i fillinux

Hvordan finne den siste forekomsten av en streng i fillinux

I Linux jobber vi stadig med streng- og tekstfiler; Enten du jobber med loggfiler eller dokumenter, er tekstmanipulering en prosess vi ikke kan slippe unna.

Denne guiden vil vise deg hvordan du finner den siste forekomsten av en streng i en fil i Linux. Linux har mange verktøy som kan bidra til å utføre oppgaver. For enkelhets skyld vil vi imidlertid holde oss til de lett tilgjengelige verktøyene i alle større Linux -distribusjoner.

Metode 1: Bruke grep

Global Regular Expression Print, kjent som GREP, er et populært og kraftig tekstmanipulasjonsverktøy.

Det fungerer ved å godta inndata fra standardinngang eller en fil og søker etter et spesifisert mønster. Når GREP finner det spesifiserte mønsteret, skriver det ut resultatet til standardutgangen. Det spesifiserte mønsteret kan være en enkelt streng eller en kompleks regex.

Anta at vi har filen Auth.logg (/var/log/autor.Logg). For å finne den siste forekomsten av en streng (uid = 0), kan vi bruke kommandoen:

$ sudo grep “uid = 0” autoritet.logg | hale -1

Utgangen vil være som vist nedenfor:

Kommandoen er relativt enkel. Vi starter med å finne strengen vi trenger å bruke grep. Deretter vil GREP liste opp alle strengforekomster, og til slutt rører vi utgangen til halen og finner den siste linjen i utgangen.

Du kan endre kommandoen ovenfor for å få de fem siste forekomstene av strengen som:

$ sudo grep “uid = 0” autoritet.logg | hale -5

Metode 2: AWK

AWK er et annet populært strengmanipulasjonsspråk. AWK er veldig kraftig da det tilbyr utrolige funksjoner sammenlignet med andre tekstmanipulasjonsprogrammer.

For å finne en lignende streng som ovenfor, kan vi bruke en kommando som:

$ sudo awk '/uid = 0/flagg = 1; flagg '| hale -1

Tilsvarende vil dette vise den siste forekomsten av strengen som:

Konklusjon

Det er det for denne. I denne raske opplæringen diskuterte vi to hovedmetoder for å finne den siste forekomsten av en streng ved hjelp av grep og awk.