Globalni ispis regularnih izraza ili samo grep jedna je od najsvestranijih i najčešćih naredbi u Unix i Linux sustavima. Naredba traži pojedinačne ili više ulaznih datoteka i podudaranja linija uzoraka. Kao rezultat toga, dobivate standardni izlaz sa odgovarajućim linijama.
Ako ne odredite datoteku, grep koristi standardni ulaz za očitanje i vjerojatno će to biti izlaz druge naredbe. U cjelini, grep ima izraženu sintaksu, bilo da je koristite sa ili bez naziva datoteke.
Ovaj vam članak daje brzi pregled sintaksa grep-a i neke osnovne naredbe koje možete koristiti sa ili bez naziva datoteke.
Prije nego što započnete
Sve naredbe grep slijede istu sintaksu i svaki parametar ima određenu funkciju. Evo primjera linije:
grep PATTERN
Možete upotrijebiti broj OPTIONS u grlu za kontrolu naredbenog izlaza i broj počinje na nuli. PATTERN označava obrazac pretraživanja koji želite primijeniti. Što se tiče FILE-a, ovdje ide ime ili imena datoteke, ali parametar se može postaviti na nulu.
Traženje niza u naredbenom izlazu
Kao što je naznačeno, ne morate koristiti određene ulazne datoteke. Izlaz druge naredbe može se koristiti grep za dobivanje linija koje točno odgovaraju obrascu. Ovo se može koristiti za određivanje koji su procesi aktivni u sustavu. Ovo je uzorak sintakse naredbi:
$ ps -ef | grep www-data
Izlaz koji dobijete trebao bi izgledati ovako:
www-data 18247 12675 4 16:00? 00:00:00 php-fpm: bazen 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 = .svn www-data
www-data 31147 12770 0 lis22? 00:05:51 nginx: radnički proces
www-data 31148 12770 0 lis22? 00:00:00 nginx: postupak upravljanja predmemorijom
Postoji način da se isključi naredbeni redak koji sadrži grep procese. Za to trebate koristiti $ ps -ef | grep www-data | naredba grep -v grep .
Grepno pretraživanje riječi
Možete upotrijebiti naredbe grep za pretraživanje određenih riječi u datotekama na vašem sustavu. U stvari, nema potrebe tipkati cijelu riječ. Na primjer, možete koristiti gnu, a naredba daje sve riječi koje imaju ta tri slova u sebi. Sintaksa naredbe je:
$ grep gnu / usr / share / riječi
Nakon izvršenja naredbe, vaš izlaz bi trebao izgledati ovako:
Cygnus
gnu
interegnum
lgnu9d
Lignum
25 l šampanjca
Magnuson
sphagnum
Wingnut
S druge strane, možete tražiti samo tu određenu riječ ili niz slova i izuzeti sve ostalo. Za to trebate dodati sintaksu -w ili –word - regexp . U ovom slučaju naredba primjera izgleda ovako - $ grep -w gnu / usr / share / words .
Napomena: Za gramatičke svrhe, neke naredbe na kraju su potpuno zaustavljene. Taj interpunkcijski znak vam nije potreban za grep. Isključite ga kad kopirate / zalijepite naredbu.
Je li slučaj Grep Case osjetljiv?
Sve naredbe grep prema zadanom su osjetljive na velika i mala slova. To znači da upotreba malih i velikih slova u samoj naredbi mijenja razliku. Međutim, u naredbeni redak možete dodati - i ( - ignore - case ) i dopustiti sustavu da traži i gornje i male slova.
Na primjer, vaša naredba za unos može izgledati ovako $ grep -i Zebra / usr / share / riječi . Omogućuje da se ispis podudara s bilo kojom kombinacijom velikih i malih slova kada se traži zebra.
Redni brojevi
Upotrijebite opciju –line-number ili samo -n kako biste odredili broj redaka s nizom koji odgovara određenom obrascu pretraživanja. Kao rezultat toga, dobivate standardni izlaz s brojem retka ispred njega.
Točna naredba može izgledati ovako: $ grep -n 10000 / etc / services . Po izvršenju, ishod pruža sva podudaranja koja pronalazi u 10000 redaka. Pogledajte uzorak u nastavku:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
Datoteke u mapama
Zvjezdicu možete staviti iza naredbe grep umjesto naziva datoteke. Upotrebom ponovo kriterija gnu naredba izgleda kao ovaj $ grep gnu *, a izlaz navodi datoteke koje sadrže gnu . Važno je napomenuti da ova vrsta naredbe vraća redak.
Napomena: Uz grep, redak se odnosi na niz znakova koji se izvode do određenog prijeloma. Ako ne pročistite pretraživanje, izlaz može sadržavati čitave odlomke informacija.
Sljedeći korak napravite s Grepom
Ovaj vodič samo ogrebotine po površini onoga što možete učiniti s grepom. Možda će trebati neko vrijeme da se postignu svi izgledi i zavrzlame, ali sintaksa slijedi prilično jednostavan princip. Uz malo prakse moći ćete usavršiti svoja pretraživanja do savršenstva, sa ili bez naziva datoteke.