grep

Linux grep naredba

Linux grep naredba
Grep je jedan od najprikladnijih alata koji možete imati na raspolaganju. Ovaj uslužni program naredbenog retka vrši pretraživanje u skupovima podataka u običnom tekstu. Grep je zapravo kratica za „glokalno pretražiti a ruglast expression i strrint ". Grep je svoje putovanje započeo kao dio obitelji UNIX. S vremenom je sada dostupan svim popularnim platformama poput Linuxa, Maca, BSD-a, pa čak i Windows-a!

Jeste li već koristili grep? Većinu vremena osnovni grep trik može obaviti većinu posla. Međutim, grep nudi mnoštvo načina za obavljanje pretraživanja i fino podešavanje rezultata na korisniju verziju. U ovom članku provjerimo upotrebu naredbe grep.

Upotreba grepa

Provjera postojanja

Ako koristite bilo koju Linux distro distribuciju, tada ste već instalirali grep. Izvedite sljedeću naredbu u terminalu.

grep --verzija

Ova se naredba koristi za prikaz verzije trenutno instaliranog grep-a. Sada nam treba demo datoteka. U mom slučaju generirat ću tekstualnu datoteku koja uključuje sve instalirane pakete na mom sustavu.

Osnove

Osnovna upotreba grepa slijedi sljedeću strukturu.

grep

Ili, za lakše razumijevanje, upotrijebite ovaj.

grep -e -f

U tom će slučaju grep izvršiti pretraživanje u datoteci i ispisati sve retke koji uključuju uzorak (pojam za pretraživanje).

grep python ~ / Desktop / PackageList.txt

Grep je pretražio datoteku “PackageList.txt "Ranije sam generirao i ispisao sve retke koji uključuju" python ".

Ista se operacija može izvesti i na drugi način. Pogledajte sljedeći primjer.

mačka ~ / Desktop / PackageList.txt | grep python

Ovdje sam, koristeći naredbu “cat”, poslao sadržaj datoteke “PackageList.txt ”na grep. Koristeći izlaz cat, grep je izvršio pretragu i ispisao retke koji sadrže pojam za pretraživanje.

Sad dolazi zabavna stvar. Možete doslovno slagati više grep naredbi samo tako.

mačka ~ / Desktop / PackageList.txt | grep - | grep p | grep python

Prvi grep filtrira se do redaka crticom, drugi filtrira do redaka s p, a završni grep filtrira do redaka s pythonom. Ima smisla?

Osjetljivost na velika i mala slova

Prilikom pretraživanja glavno je pitanje osjetljivost na velika i mala slova. Prema zadanim postavkama, grep razlikuje velika i mala slova.

Na primjer, traženje "Python" neće pokazati nikakav rezultat.

mačka ~ / Desktop / PackageList.txt | grep Python

Da biste slučaj grep-a učinili "neosjetljivim", dodajte sljedeću opciju.

mačka ~ / Desktop / PackageList.txt | grep -i Python

Pretraživanje datoteka

Recimo da imate direktorij s brojnim tekstualnim datotekama. Vaš je cilj identificirati datoteke koje sadrže ili ne sadrže obrazac (pojam za pretraživanje).

Smatram da je ova metoda vrlo korisna kada pretražujem gomilu datoteka dnevnika. Kako nemam vremena ručno otvarati i provjeravati svaku pojedinu datoteku, imam grep da obavi posao umjesto mene.

Za popis datoteka koje sadrže podudarnost upotrijebite zastavicu "-l".

grep -l / search / directory / *

Kao što rezultati sugeriraju, pojam "python" prisutan je u sve 3 datoteke prisutne u direktoriju "Desktop".

Za popis datoteka bez ikakvog podudaranja upotrijebite zastavicu "-L".

grep -L / search / directory / *

“NoMatch.txt ”jedina je datoteka koja ne sadrži pojam„ python ”.

Obrnuta pretraga

Zadano ponašanje grepa je ispis samo redaka s odgovarajućim uzorkom, zar ne? Vrijeme je da preokrenemo postupak. Ovaj put ispisat ćemo samo linije BEZ podudarnog uzorka.

Samo dodajte opciju "-v" na grep.

mačka ~ / Desktop / PackageList.txt | grep -i -v Python

Ispis redaka prije / poslije meča

Prema zadanim postavkama, grep će ispisati samo redak koji odgovara obrascu pretraživanja. Koristeći ovu tehniku, možete narediti grepu da ispiše redove i prije / poslije meča.

Za ispis redaka prije utakmice koristite sljedeću strukturu.

grep -B

Ovdje je 5 redak broja koji će se grep ispisati PRIJE odgovarajućeg retka.

Za ispis redaka nakon meča upotrijebite sljedeći.

grep -A

Što kažete na ispis i prije i nakon odgovarajuće linije? U tom slučaju upotrijebite zastavicu "-C".

grep -C

Broj retka

Kada grep prikazuje izlaz, ne spominje se broj retka. Za pridružene brojeve linija koristite oznaku "-n".

grep -n

Jedna riječ

Ako se koristi zastavica "-w", grep će obrazac tretirati kao cijelu riječ.

grep -w

Ograničavanje grep pretraživanja

Grep omogućuje određivanje broja redaka za pretraživanje u datoteci. Ova je metoda korisna ako imate posla s velikom datotekom (poput sistemskog dnevnika). Koristite zastavicu "-m".

grep -m

Rekurzivno pretraživanje

To je jedna od najkorisnijih značajki koju grep nudi za intenzivnu upotrebu. Grep može rekurzivno pretraživati ​​direktorij i pronaći sva podudaranja svih datoteka s kojima se suočava.

grep -R

Ili,

grep -r

Često pronalazim upotrebu ove rekurzivne funkcije zajedno sa zastavicom "-l".

Tihi način rada

Grep se može pokretati u "tihom" načinu. Kada radi u "tihom" načinu rada, grep neće ispisati izlaz na terminal. Umjesto toga, vratit će se 0 (barem je pronađeno podudaranje) ili 1 (nije pronađeno podudaranje).

grep -q
odjek $?

Regex

Grep također dopušta pretraživanja regularnih izraza (regularni izraz). To dodaje potpuno novu razinu složenosti i upotrebljivosti grepa kao alata za pretraživanje.

Na primjer, zagradama možete istovremeno pretraživati ​​i "previše" i "dva".

mačka ~ / Desktop / gpl-3.0.txt | grep t [wo] o

Sljedeći će primjer ispisati redak samo ako se podudaranje dogodi na samom početku retka.

grep ^ GNU ~ / Desktop / gpl-3.0.txt

Što se tiče podudaranja završetka, upotrijebite ovaj.

grep vam $ ~ / Desktop / gpl-3.0.txt

Ako želite koristiti Perl regularni izraz, upotrijebite zastavicu “-P”. Uzorak će tretirati kao Perl regex.

grep -P

Završne misli

Grep nudi mnoštvo načina za prilagodbu funkcije pretraživanja. Dostupnost regularnog izraza otvara potpuno novi horizont za potencijalnu upotrebu grepa. Super je stvar što možete koristiti i generalni i Perl regex; s kim god se osjećate ugodno.

Za najdetaljnije objašnjenje uvijek potražite man stranicu.

čovječe grep

Živjeli!

Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...