Syntaks
Grep [mønster] [fil]Mønsteret skal være et ord eller et symbol, der skal søges i filen.
Forudsætninger
For at du kan arbejde med Grep i dit system, skal du have Linux-operativsystem installeret. Efter konfiguration giver du brugeroplysningerne for at have privilegier til at få adgang til de installerede applikationer. Gå fremad, gå til terminalkommandolinjen ved hjælp af en genvejstast ctrl + alt + T.
Grep Installation
$ Sudo apt-get install grepHvis du endnu ikke har installeret Grep, kan du installere lagre af Grep i Ubuntu ved hjælp af denne kommando.
Grep Manual
For at vide om Grep-kommandoerne kan vi gå til mandsiden. Grep er meget alsidig og giver brugerne mulighed for at bruge det på komplicerede måder.
$ Man grep
Nogle eksempler, der hjælper med at forstå Grep's funktionalitet er som følger:
-Jeg skelner mellem sager og sager ignoreres
-n udskriv linjenummeret med output
-r søg i alle mapper på Linux
-farve Vis det matchede resultat i farver
Vis alle filer
Hvis du allerede har Ubuntu-filer og vil liste dem for at se alle filnavne og udvidelser, kan du bruge følgende citerede kommando.
$ lsDu bruger simpelthen kommandoen “ls” til at vise alle oprettede filer.
Oprettelse af filer, hvis ikke allerede eksisterer
For at forstå funktionaliteten ved at søge i en fil skal vi have en fil eller filer oprettet i vores system. Hvis du ikke har nogen filer, skal du oprette filer. Fil i Linux er lavet på mere end en måde. En enkel metode, som vi skal bruge, beskrives som følger.
$ echo "text"> filnavnEkkoordet bruges til at vise data i Linux-kommandoen. Ved hjælp af denne kommando kan brugeren oprette en fil og indtaste data i den ved hjælp af den samme kommando. I det særlige eksempel er filens navn file20.txt. Da filen indeholder tekst, har vi brugt filtypenavnet ".txt.”
Tilsvarende er et andet eksempel på filoprettelse, at vi har oprettet mere end én fil ad gangen.
Søg i fil ved at sortere et ord
En fil i Linux kan søges gennem et ord. Syntaksen er ret forståelig.
$ grep “teknisk” fil *Denne kommando viser ikke kun filnavnet, men også de data, der findes i den. I det aktuelle eksempel vil du vide, at det ord, som vi har søgt igennem, er fremhævet for at vise dets eksistens i filen. Desuden er filnavnet oprindeligt skrevet, "File *" betyder at søge i det bestemte ord i alle filer. Sådan hjælper et enkelt ord med at opnå output af filnavne.
Søg efter fil ved hjælp af "-l"
“-L” er en kommando, der bruges til kun at vise navnene på filer i Linux.
$ grep -l min fil *Som den ovennævnte kommando er “min” et ord, som vi vil søge i filer. Som vi har beskrevet ovenfor betyder "fil *" at søge i alle filer oprettet i systemet. Vi kan se, at der er fire filnavne med ”.txt ”udvidelser og en uden nogen udvidelse. Det betyder, at alle filer med bestemte ord vises. Vi vil yderligere se, hvor specifikt vi kan søge i en fil ved at nævne udvidelsen.
Søg efter fil efter filtypenavn
I det forrige eksempel har vi set, at ved sortering blev alle filer vist. Men for at vise filnavne på bestemte udvidelser under den skriftlige kommando bruges “*.txt ”repræsenterer filtypenavnet på en fil, så alle filer skal være af denne udvidelse.
Dette er grundlæggende forskelsbehandling mellem de to sidste eksempler, som holdes gennem filtypenavnet.
$ grep -l “min” *.txt
Søg efter fil ved hjælp af “-e”
Der kan være en situation, hvor du vil søge i filer ved hjælp af mere end et ord i forskellige filer. I disse typer scenarier skal vi bruge kommandolinjemuligheden “-e”. For eksempel vil du søge i de filer, der har tre specifikke ord, så denne kommando anbefales. Søgning vil blive anvendt på alle filer, der findes i din nuværende arbejdsmappe. Disse filer skal have tekstudvidelse, da der er en begrænsning af teksten.
$ grep -e min -e aqsa -e teknisk *.txtGrep, Aqsa og Technical er tre ord baseret på søgefiler. Alle disse ord fremhæves, uanset hvor disse ord findes i bestemte filer. Filnavne er nævnt i starten. Der er en mulighed for, at der kun findes et enkelt ord i en fil.
Søg data i en enkelt fil
I tidligere eksempler har vi set, at filnavnet vises med data til stede i filen. Hvis vi ikke kender de data, der findes i filen, eller hvis et enkelt ord kan huskes, kan vi søge i filen ved hjælp af ordet.
$ grep 'Aqsa' fil20.txtI dette eksempel henter kommandoen hele data ved hjælp af et ord i filen.
Søg i data gennem mere end en enkelt fil
Som det foregående eksempel udføres søgning her med et ord, men i to filer. Begge filer har tekstudvidelse, og ordet, der findes i begge filer, fremhæves. Filnavne vises også, som vi har søgt ved hjælp af begge filnavne.
$ grep 'Aqsa' fil20.txt-fil23.txt
Vis ordeksistens i fil
At kontrollere filens eksistens eller tilstedeværelsen af ordene i en fil. Flaget “-q” bruges, og det fungerer til at søge bestemte udtryk i alle filer, der viser “1” eller “0” som output. Hvis "1" kommer, betyder det, at der ikke er noget match, men hvis matchet findes, viser det "0".
Konklusion
Vi har forklaret hvert eksempel i detaljer for at forfølge oplysninger til brugerne. Det gælder for Grep-filen, der let søger på filer og inden for filerne i Linux-miljøet.