Anonim

Globalt vanlig uttrykk eller bare grep er en av de mest allsidige og vanlige kommandoene i Unix og Linux-systemer. Kommandoen ser etter enkelt eller flere inndatafiler og matchende mønsterlinjer. Som et resultat får du en standardutgang med matchende linjer.

Hvis du ikke spesifiserer en fil, bruker grep standardinngangen for avlesningene, og det vil sannsynligvis bli en annen kommandos utdata. I det hele tatt har grep en enkel syntaks uansett om du bruker den med eller uten filnavnet.

Denne artikkelen gir deg en rask oversikt over grep-syntaks og noen grunnleggende kommandoer du kan bruke med eller uten filnavnet.

Før du begynner

Alle grep-kommandoer følger den samme syntaks og hver parameter har en spesifikk funksjon. Her er prøvelinjen:

grep MØNSTER

Du kan bruke et antall OPTIONS i grep for å kontrollere kommandoutgangen, og tallet starter på null. MØNSTER angir søksmønsteret du vil bruke. Når det gjelder FILEN, er det her filnavnet eller navnene går, men parameteren kan settes til null.

Strengsøk i kommandoutdata

Som indikert, trenger du ikke å bruke spesifikke inndatafiler. En annen kommandos output kan brukes i grep for å få linjer som nøyaktig samsvarer med et mønster. Dette kan brukes til å bestemme hvilke prosesser som er aktive i systemet. Dette er eksempler på kommandosyntax:

$ ps -ef | grep www-data

Produksjonen du får skal se slik ut:

www-data 18247 12675 4 16:00? 00:00:00 php-fpm: basseng www
root 18272 17714 0 16:00 pts / 0 00:00:00 grep –color = auto – exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude-dir- dir = .svn www-data
www-data 31147 12770 0 oktober 22? 00:05:51 nginx: arbeiderprosess
www-data 31148 12770 0 okt 22? 00:00:00 nginx: cache manager-prosess

Det er en måte å ekskludere kommandolinjen som inneholder grep-prosesser. For dette må du bruke $ ps -ef | grep www-data | grep -v grep kommando.

Grep Word Search

Du kan bruke grep-kommandoer for å søke etter spesifikke ord i filer på systemet ditt. Det er faktisk ikke nødvendig å skrive et helt ord. Du kan bare bruke gnu, for eksempel, og kommandoen sender ut alle ordene som har disse tre bokstavene i seg. Kommandosyntaxen er:

$ grep gnu / usr / share / ord

Etter å ha utført kommandoen, skal utdataene se slik ut:

cygnus
gnu
interregnum
lgnu9d
lignum
magnum
Magnuson
Sphagnum
vingemutter

På den annen side kan du søke bare etter det bestemte ordet eller en streng med bokstaver og ekskludere alt annet. For dette må du legge til -w eller –word - regexp til syntaksen. I dette tilfellet ser eksempelkommandoen slik ut - $ grep -w gnu / usr / share / ord .

Merk: For grammatikkformål har noen av kommandoene full stopp på slutten. Du trenger ikke det tegnsettingsmerket for grep. Ekskluder den når du kopierer / limer inn kommandoen.

Er Grep-sak følsom?

Som standard er alle grep-kommandoer store og små bokstaver. Dette betyr at bruk av små og store bokstaver gjør en forskjell i selve kommandoen. Du kan imidlertid legge til - i ( - ignorere - store bokstaver ) i kommandolinjen og la systemet søke etter både store og små bokstaver.

For eksempel kan inngangskommandoen din se slik ut $ grep -i Zebra / usr / share / ord . Den lar utdataene samsvare med enhver kombinasjon av store og små bokstaver når den søker etter sebra.

Linjenumre

Bruk alternativet –linjenummer eller bare -n for å bestemme antall linjer med en streng som samsvarer med et bestemt søkemønster. Som et resultat får du en standardutgang med linjenummer foran.

Den eksakte kommandoen kan se slik ut: $ grep -n 10000 / etc / services . Ved utførelse gir utdata alle kampene den finner på 10000 linjer. Sjekk ut prøven nedenfor:

10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp

Filer i mapper

Du kan legge en stjerne bak en grep-kommando i stedet for et filnavn. Bruker gnu- kriteriene på nytt ser kommandoen ut som denne $ grep gnu *, og utdataene viser filene som inneholder gnu i. Det er viktig å merke seg at denne typen kommandoer returnerer en linje.

Merk: Med grep refererer en linje til en sekvens med tegn som kjører opp til et spesifisert brudd. Med mindre du avgrenser søket, kan utdataene inneholde hele avsnitt med informasjon.

Ta neste trinn med Grep

Denne guiden klør bare overflaten på hva du kan gjøre med grep. Det kan ta litt tid å få alle odds og ender, men syntaksen følger et ganske enkelt prinsipp. Og med litt øvelse, vil du kunne avgrense søket til fullkommenhet, med eller uten filnavnet.

Hvordan grep uten filnavnet