Global reguljära uttryckstryck eller bara grep är en av de mest mångsidiga och vanliga kommandona i Unix och Linux-system. Kommandot letar efter enstaka eller flera inmatningsfiler och matchande mönsterlinjer. Som ett resultat får du en standardutgång med matchande rader.
Om du inte anger en fil använder grep standardinmatningen för avläsningarna och det kommer troligtvis att bli ett annat kommandos utgång. Sammantaget har grep enkel syntax oavsett om du använder den med eller utan filnamnet.
Den här artikeln ger dig en snabb översikt av grep-syntaxen och några grundläggande kommandon som du kan använda med eller utan filnamnet.
Innan du börjar
Alla grep-kommandon följer samma syntax och varje parameter har en specifik funktion. Här är provraden:
grep PATTERN
Du kan använda ett antal OPTIONS i grep för att kontrollera kommandoutmatningen och numret börjar på noll. PATTERN anger det sökmönster du vill använda. När det gäller FILEN är det här filnamnet eller namnen går, men parametern kan ställas in på noll.
Strängsökning i kommandoutput
Som anges behöver du inte använda specifika inputfiler. Ett annat kommandos utgång kan användas i grep för att få rader som exakt matchar ett mönster. Detta kan användas för att bestämma vilka processer som är aktiva i systemet. Detta är exempel på kommandosyntax:
$ ps -ef | grep www-data
Den utgång du får ska se ut så här:
www-data 18247 12675 4 16:00? 00:00:00 php-fpm: pool 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 okt22? 00:05:51 nginx: arbetarprocess
www-data 31148 12770 0 okt22? 00:00:00 nginx: cachehanteringsprocess
Det finns ett sätt att utesluta kommandoraden som innehåller grep-processer. För detta måste du använda $ ps -ef | grep www-data | grep -v grep kommando.
Grep Word Search
Du kan använda grep-kommandon för att söka efter specifika ord i filer på ditt system. Det finns faktiskt inget behov att skriva ett helt ord. Du kan bara använda gnu, till exempel, och kommandot matar ut alla orden som har dessa tre bokstäver i sig. Kommandosyntaxen är:
$ grep gnu / usr / share / ord
När du har utfört kommandot bör din utgång se ut så här:
cygnus
gnu
interregnum
lgnu9d
lignum
magnum
Magnuson
vitmossa
vingmutter
Å andra sidan kan du söka bara efter det specifika ordet eller en bokstavssträng och utesluta allt annat. För detta måste du lägga till -w eller –word - regexp till syntaxen. I detta fall ser exempelskommandot ut så här - $ grep -w gnu / usr / share / ord .
Obs: För grammatiska ändamål har några av kommandona en fullständig stopp i slutet. Du behöver inte det skiljetecknet för grep. Uteslut det när du kopierar / klistrar in kommandot.
Är Grep Case känslig?
Som standard är alla grep-kommandon skiftlägeskänsliga. Detta betyder att användning av små och stora bokstäver gör skillnad i själva kommandot. Du kan dock lägga till - i ( - ignorera - fall ) till kommandoraden och låta systemet söka efter både stora och små bokstäver.
Till exempel kan ditt inmatningskommando se ut så här $ grep -i Zebra / usr / share / ord . Det gör att utgången matchar alla kombinationer av stora och små bokstäver när den söker efter sebra.
Radnummer
Använd alternativet –linje-nummer eller bara -n för att bestämma antalet rader med en sträng som matchar ett visst sökmönster. Som ett resultat får du en standardutgång med ett radnummer framför sig.
Det exakta kommandot kan se ut så här: $ grep -n 10000 / etc / services . Vid körning ger utgången alla matchningar den hittar på 10000 rader. Kolla in provet nedan:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
Filer i mappar
Du kan placera en asterisk bakom ett grep-kommando istället för ett filnamn. Med hjälp av gnu- kriterierna ser kommandot ut så här $ grep gnu * och utgången listar filerna som innehåller gnu i. Det är viktigt att notera att den här typen av kommandon returnerar en rad.
Obs: Med grep hänvisar en rad till en sekvens av tecken som körs upp till ett angivet avbrott. Om du inte förfinar sökningen kan utgången innehålla hela information om stycken.
Ta nästa steg med Grep
Den här guiden repar bara ytan på vad du kan göra med grep. Det kan ta lite tid att få alla odds och slut, men syntaxen följer en ganska enkel princip. Och med lite övning kan du förfina dina sökningar till perfektion, med eller utan filnamnet.