Ponekad se korisnici suočavaju s potrebom traženja određenih informacija unutar bilo koje datoteke. Često konfiguracijski dokumenti ili drugi volumetrijski podaci sadrže velik broj redaka, tako da je nemoguće ručno pronaći potrebne podatke. Zatim dolazi do spašavanja jedna od ugrađenih naredbi za Linux operativne sustave, što će vam omogućiti da pronađete linije u samo nekoliko sekundi.
Sadržaj
Što se tiče razlika između Linux distribucija, u ovom slučaju one ne igraju nikakvu ulogu, budući da je naredba grep koju ste zainteresirani po defaultu dostupna u većini skupova i koristi se na isti način. Danas želimo razgovarati ne samo o učinku grep-a , već io glavnim argumentima koji mogu značajno pojednostaviti postupak pretraživanja.
Pogledajte i: Tražite datoteke u Linuxu
Sve daljnje radnje izvršit će se putem standardne konzole, a također će vam omogućiti da otvarate datoteke samo navođenjem pune putanje do njih ili ako se Terminal pokrene iz potrebnog direktorija. Možete saznati nadređenu mapu datoteke i otići na nju u konzoli kao što je ovaj:
cd /home/user/folder
, gdje je korisnik korisničko ime i mapa je naziv mape. Upotrijebite cat + название файла
ako želite pogledati cijeli sadržaj. Detaljne upute o tome kako raditi s timom možete pronaći u našem drugom članku na donjoj vezi.
Više detalja: Primjeri naredbi za Linux cat
Zahvaljujući gore navedenim koracima, možete koristiti grep , budući da ste u pravom direktoriju, bez navođenja pune putanje do datoteke.
Prije nego što pređemo na razmatranje svih dostupnih argumenata, važno je uočiti uobičajeno pretraživanje po sadržaju. To će biti korisno u onim trenucima kada trebate pronaći jednostavnu podudarnost po vrijednosti i prikazati sve relevantne linije.
grep word testfile
, gdje je riječ informacija koju tražite i testfile je ime datoteke. Prilikom pretraživanja izvan mape navedite punu putanju kao /home/user/folder/filename
. Nakon unosa naredbe pritisnite tipku Enter . grep -i "word" testfile
. Ponekad korisnici moraju pronaći ne samo točno podudaranje u redovima, nego i saznati informacije koje dolaze nakon njih, na primjer, prilikom prijavljivanja određene pogreške. Tada je ispravno rješenje primijeniti atribute. Upišite grep -A3 "word" testfile
u konzolu da uključi sljedeća tri retka u rezultat nakon utakmice. Možete napisati -A4
, tada će biti zarobljene četiri linije, nema ograničenja.
Ako umjesto -A
koristite argument -B + количество строк
, rezultat su podaci koji su do točke ulaska.
Argument -С
, zauzvrat, bilježi crte oko ključne riječi.
U nastavku možete vidjeti primjere dodjele navedenih argumenata. Imajte na umu da morate uzeti u obzir slučaj i staviti dvostruke navodnike.
grep -B3 "word" testfile
grep -C3 "word" testfile
Potreba za definiranjem ključne riječi koja se nalazi na početku ili na kraju retka najčešće se pojavljuje tijekom rada s konfiguracijskim datotekama, gdje je svaki redak odgovoran za jedan parametar. Da biste u početku vidjeli točan unos, morate registrirati grep "^word" testfile
. Znak ^ samo je odgovoran za korištenje ove opcije.
Traženje sadržaja na kraju redaka događa se približno na isti način, samo u navodnicima treba dodati $ sign, a naredba će izgledati ovako: grep "word$" testfile
.
Prilikom traženja željenih vrijednosti, korisnik nema uvijek podatke o točnoj riječi prisutnoj u nizu. Zatim se postupak pretraživanja može obaviti putem brojeva, što ponekad uvelike pojednostavljuje zadatak. Potrebno je koristiti naredbu samo u obliku grep "[0-7]" testfile
, gdje je "[0-7]" raspon vrijednosti, a testfile je ime datoteke koju treba skenirati.
Skeniranje svih objekata u istoj mapi zove se rekurzivno. Korisnik mora primijeniti samo jedan argument koji analizira sve datoteke u mapi i prikazuje odgovarajuće linije i njihovu lokaciju. Morat ćete unijeti grep -r "word" /home/user/folder
, gdje je / home / user / folder put do direktorija za skeniranje.
Plava će prikazati mjesto za pohranu datoteke, a ako želite dobiti crte bez te informacije, dodijelite drugi argument kako bi naredba dobila ovu grep -h -r "word" + путь к папке
.
Na početku članka već smo razgovarali o uobičajenom pretraživanju riječi. Međutim, ovom metodom u rezultatima će biti prikazane dodatne kombinacije. Na primjer, pronaći ćete riječ Korisnik , ali naredba će također prikazati Korisnika 123 , Korisnik lozinke i druge podudarnosti, ako ih ima. Da biste izbjegli ovaj rezultat, dodijelite argument -w
( grep -w "word" + имя файла или его расположение
).
Ova se opcija također izvršava kada je potrebno istovremeno tražiti nekoliko točnih ključnih riječi. U ovom slučaju upišite egrep -w 'word1|word2' testifile
. Napominjemo da se u ovom slučaju slovo e dodaje u grep , a stavljaju se pojedinačni navodnici.
Razmatrani uslužni program ne samo da može pronaći riječi u datotekama, već i prikazati retke u kojima ne postoji korisnikova vrijednost. Zatim, prije unosa vrijednosti ključa i datoteke, dodaje se -v
. Zahvaljujući njoj, kada aktivirate naredbu, vidjet ćete samo relevantne podatke.
Grepova sintaksa prikupila je još nekoliko argumenata koji se mogu ukratko objasniti:
-I
- prikaz samo imena datoteka koje odgovaraju kriterijima pretraživanja; -s
- onemogući obavijesti o pronađenim pogreškama; -n
- prikazuje broj retka u datoteci; -b
- prikaz broja bloka prije retka. Ništa vas ne sprječava da koristite više argumenata za jedan nalaz, samo ih unesite razmaknutim razmakom, ne zaboravljajući uzeti slučaj u obzir.
Danas smo temeljito rastavili naredbu grep , dostupnu u Linux distribucijama. To je jedan od standarda i često se koristi. O drugim popularnim alatima i njihovoj sintaksi možete pročitati u našem zasebnom materijalu na sljedećem linku.
Pogledajte i: Često korištene naredbe u Linux terminalu