Nogle gange står brugere overfor behovet for at søge efter specifikke oplysninger inden for alle filer. Ofte indeholder konfigurationsdokumenter eller andre volumetriske data et stort antal linjer, så manuelt finder de nødvendige data ikke virker. Derefter kommer en af de indbyggede kommandoer i operativsystemer på Linux til undsætning, som vil tillade lanceringen af rækkerne bogstaveligt i sekunder.
Vi bruger Grep-kommandoen i Linux
Hvad angår forskellene mellem Fordelingen af Linux, spiller de i dette tilfælde ikke nogen rolle, da den grep-kommando, du er interesseret i, er standard tilgængelig i de fleste bygninger og er helt ens. I dag vil vi gerne diskutere ikke kun GREP's handling, men også for at demontere de vigtigste argumenter, der giver dig mulighed for at forbedre søgningsproceduren væsentligt.
Kast CAT-kommandoen + filnavn, hvis du vil se det fulde indhold. Detaljerede instruktioner til at arbejde med denne kommando søger i en anden artikel med henvisning nedenfor.
Læs mere: Eksempler på CAT-kommandoen i Linux
Takket være udførelsen af ovenstående handlinger kan du bruge GREP i den ønskede mappe uden at angive den fulde vej til filen.
Standard søgning på indhold
Før du skifter til overvejelse af alle tilgængelige argumenter, er det vigtigt at bemærke den sædvanlige indholdssøgning. Det vil være nyttigt på det tidspunkt, hvor det er nødvendigt at finde en simpel matchning og vise alle de relevante linjer.
- I kommandoprompten skal du indtaste Grep Word Testfile, hvor Word er de ønskede oplysninger, og testfilen er navnet på filen. Når du søger, skal du angive den fulde vej til eksempel / Hjem / Bruger / Mappe / Filnavn på. Når du har indtastet kommandoen, skal du klikke på Enter-tasten.
- Det er kun at gøre dig bekendt med de tilgængelige muligheder. Fuld linjer vises på skærmen, og nøgleværdierne vil blive fremhævet i rødt.
- Det er vigtigt at tage hensyn til og registreringsregister, da Linux-kodningen ikke er optimeret til at søge efter store eller små tegn. Hvis du vil omgå definitionen af registret, skal du indtaste Grep -i "Word" testfilen.
- Som du kan se, i det næste screenshot, er resultatet ændret, og en anden ny linje blev tilføjet.
Søg med String Capture
Nogle gange skal brugerne ikke kun finde den nøjagtige kamp på rækkerne, men også for at finde ud af de oplysninger, der kommer efter dem, for eksempel, når du rapporterer en bestemt fejl. Derefter vil den korrekte løsning anvende attributter. Indtast Grep -A3 "Word" testfilkonsollen for at aktivere i resultatet og tre næste linjer efter tilfældigheden. Du kan skrive -A4, så fire linjer bliver fanget, der er ingen begrænsninger.
Hvis du i stedet angiver argumentet -B + antallet af linjer, vil de data, der er op til indgangspunktet, blive vist.
Argumentet er igen fanger linjerne omkring søgeordet.
Nedenfor kan du se eksempler på at tildele disse argumenter. Bemærk venligst, at det er nødvendigt at tage hensyn til registret og skrive dobbelt citater.
Grep-B3 "Word" testfile
Grep -C3 "Word" testfile
Søg efter søgeord i begyndelsen og i slutningen af rækkerne
Behovet for at definere et søgeord, der står i begyndelsen eller i slutningen af linjen, forekommer oftest under arbejdet med konfigurationsfiler, hvor hver linje er ansvarlig for en parameter. For at se den nøjagtige post i begyndelsen er det nødvendigt at registrere Grep "^ Word" testfil. Sign ^ er bare ansvarlig for at anvende denne mulighed.
Søgningen efter indhold i slutningen af linjerne forekommer omtrent med samme princip, kun i citater skal tilføje et $ tegn, og holdet finder denne type: Grep "Word $" testfile.
Søg efter numbler.
Når du søger efter de ønskede værdier, har brugeren ikke altid oplysninger om det nøjagtige ord, der er til stede i strengen. Derefter kan søgningsproceduren ske gennem de numre, der undertiden forenkler opgaven. Det er kun nødvendigt at bruge kommandoen i form af Grep "[0-7]" testfil, hvor "[0-7]" - værdien af værdier og testfilen er navnet på filen til scanning.
Analyse af alle katalogfiler
Scanning Alle objekter i en mappe kaldes rekursiv. Brugeren er forpligtet til at anvende kun ét argument, som analyserer alle mappefiler og viser de relevante linjer og deres placering. Du bliver nødt til at indtaste Grep -r "Word" / Home / User / Folder, hvor / Hjem / Bruger / Mappe er stien til scanningskatalogen.
Filopbevaring vil blive vist i blåt, og hvis du vil få rækker uden disse oplysninger, skal du tildele et andet argument, så kommandoen får en sådan Grep -h -R "Word" + sti til mappen.
Nøjagtig søgning efter
I begyndelsen af artiklen har vi allerede talt om den sædvanlige søgning efter ord. Men med denne metode vil yderligere kombinationer blive vist i resultaterne. For eksempel finder du brugerordet, men holdet vil også vise USER123, PasswordUser og andre sammenfaldende, hvis nogen. For at undgå et sådant resultat skal du tildele et argument-W (Grep -W "Word" + filnavn eller dets placering).
Denne indstilling udføres, og når du skal søge efter flere nøjagtige søgeord. I dette tilfælde skal du indtaste Egrep -W 'Word1 | Word2' TESTIFILE. Bemærk venligst, at i dette tilfælde tilføjes bogstavet E til Grep, og citaterne er single.
String søgning uden et bestemt ord
Det pågældende nytteværdi kan ikke kun finde ord i filer, men også at vise linjer, hvor der ikke er nogen værdi angivet af brugeren. Derefter, før du indtaster nøgleværdien, og filen er tilføjet -v. Takket være det, når du aktiverer kommandoen, vil du kun se de relevante data.
Syntax Grep indsamlede flere flere argumenter, som kan meddeles kort:
- -Jeg - Vis kun navnene på filer, der passer under søgekriterierne
- -S - Deaktiverer meddelelser om de fundne fejl
- -N - Vis linjenummeret i filen
- -B - Vis bloknummer foran linjen.
Intet forhindrer dig i at anvende flere argumenter for et ophold, bare indtaste dem gennem rummet, ikke glemme at overveje registret.
I dag adskiller vi Grep-kommandoen tilgængelig i Linux-distributionerne. Det er en af standarden og ofte brugt. Du kan læse om andre populære værktøjer og deres syntaks i et separat materiale i henhold til følgende link.
Se også: Ofte anvendte kommandoer i Terminal Linux