Včasih se uporabniki soočajo s potrebo po iskanju določenih informacij znotraj datotek. Pogosto konfiguracijski dokumenti ali drugi volumetrični podatki vsebujejo veliko število vrstic, zato ni mogoče ročno poiskati potrebnih podatkov. Nato se rešuje eden od vgrajenih ukazov za operacijske sisteme Linux, ki vam bo omogočil, da najdete črte v samo nekaj sekundah.
Vsebina
Kar se tiče razlik med distribucijami Linuxa, v tem primeru ne igrajo nobene vloge, saj je ukaz grep, ki vas zanima, privzeto na voljo v večini sklopov in se uporablja na popolnoma enak način. Danes bi želeli razpravljati ne samo o učinku grep- a, ampak tudi o glavnih argumentih, ki lahko bistveno poenostavijo postopek iskanja.
Glejte tudi: Iščete datoteke v Linuxu
Vsa nadaljnja dejanja bodo izvedena preko standardne konzole, prav tako pa vam omogoča, da odprete datoteke samo z navedbo celotne poti do njih ali če se Terminal zažene iz zahtevanega imenika. Poiščete lahko nadrejeno mapo datoteke in jo obiščete v konzoli, kot je ta:
cd /home/user/folder
, kjer je uporabnik uporabniško ime in mapa je ime mape. Če želite videti celotno vsebino, uporabite ukaz cat + название файла
. Podrobna navodila za delo s to ekipo najdete v našem drugem članku na spodnji povezavi.
Več podrobnosti: Primeri ukazov Linux cat
Zahvaljujoč zgornjim korakom lahko uporabite grep , ki je v pravem imeniku, ne da bi določili celotno pot do datoteke.
Pred preučitvijo vseh razpoložljivih argumentov je pomembno opozoriti na običajno iskanje po vsebini. To bo koristno v tistih trenutkih, ko boste morali poiskati preprosto ujemanje po vrednosti in prikazati vse ustrezne vrstice.
grep word testfile
, kjer je beseda informacija, ki jo iščete in testfile je ime datoteke. Ko iščete zunaj mape, podajte celotno pot kot v /home/user/folder/filename
. Ko vnesete ukaz, pritisnite tipko Enter . grep -i "word" testfile
. Včasih morajo uporabniki najti ne le natančno ujemanje v vrsticah, temveč tudi, da najdejo informacije, ki prihajajo po njih, na primer, ko poročajo o določeni napaki. Nato je prava rešitev uporabiti atribute. V grep -A3 "word" testfile
vnesite grep -A3 "word" testfile
da vključite naslednje tri vrstice v rezultat po tekmi. Lahko napišete -A4
, nato se zajamejo štiri vrstice, ni omejitev.
Če namesto -A
uporabite argument -B + количество строк
, so rezultati podatki do točke vnosa.
Argument -С
, nato pa zajame črte okoli ključne besede.
Spodaj si lahko ogledate primere dodelitve podanih argumentov. Prosimo, upoštevajte, da morate upoštevati primer in podati dvojne narekovaje.
grep -B3 "word" testfile
grep -C3 "word" testfile
Potreba po definiranju ključne besede, ki je na začetku ali na koncu vrstice, se najpogosteje pojavlja med delom s konfiguracijskimi datotekami, kjer je vsaka vrstica odgovorna za en parameter. Da bi videli točen vnos na začetku, morate registrirati grep "^word" testfile
. Znak ^ je odgovoren samo za uporabo te možnosti.
Iskanje vsebine na koncu vrstic poteka približno na enak način, samo v narekovajih dodajte znak $ in ukaz bo izgledal takole: grep "word$" testfile
.
Pri iskanju želenih vrednosti uporabnik nima vedno informacij o natančni besedi v nizu. Potem se lahko postopek iskanja izvede preko številk, kar včasih zelo poenostavi nalogo. Ukaz je treba uporabiti samo v obliki grep "[0-7]" testfile
, kjer je "[0-7]" območje vrednosti, testfile pa je ime datoteke, ki jo želite skenirati.
Skeniranje vseh objektov v isti mapi se imenuje rekurzivno. Uporabnik mora uporabiti samo en argument, ki analizira vse datoteke v mapi in prikaže ustrezne vrstice in njihovo lokacijo. Vnesti boste morali grep -r "word" /home/user/folder
, kjer je / home / user / mapa pot do imenika za skeniranje.
Modra bo prikazala mesto shranjevanja datotek in če želite dobiti vrstice brez te informacije, dodelite drug argument, da bo ukaz dobil to grep -h -r "word" + путь к папке
.
Na začetku članka smo že govorili o običajnem iskanju besed. Vendar pa bodo s to metodo v rezultatih prikazane dodatne kombinacije. Na primer, najdete besedo uporabnik , vendar bo ukaz prikazal tudi uporabnika 123 , uporabnika gesla in druge zadetke, če obstajajo. Da bi se izognili temu rezultatu, dodelite argument -w
( grep -w "word" + имя файла или его расположение
).
Ta možnost se izvaja tudi, ko morate iskati več natančnih ključnih besed hkrati. V tem primeru vnesite egrep -w 'word1|word2' testifile
. Upoštevajte, da je v tem primeru črka e dodana v grep in dajo se enojni narekovaji.
Obravnavani pripomoček ne more le najti besede v datotekah, ampak tudi prikaz vrstic, v katerih ni uporabniško določene vrednosti. Potem -v
doda pred vnosom vrednosti ključa in datoteke. Zahvaljujoč njej, ko aktivirate ukaz, boste videli samo ustrezne podatke.
Sintaksa grep je zbrala še nekaj argumentov, ki jih lahko na kratko pojasnimo:
-I
- prikaže samo imena datotek, ki ustrezajo iskalnim kriterijem; -s
- onemogoči obvestila o najdenih napakah; -n
- prikaže številko vrstice v datoteki; -b
- prikaže številko bloka pred črto. Nič vam ne preprečuje uporabe več argumentov za eno ugotovitev, vnesite jih ločeno s presledkom in ne pozabite vzeti primera na račun.
Danes smo temeljito razstavili ukaz grep , ki je na voljo v distribucijah Linuxa. Je eden izmed standardov in se pogosto uporablja. O drugih priljubljenih orodjih in njihovi skladnji lahko preberete v našem ločenem gradivu na naslednji povezavi.
Glejte tudi: Pogosto uporabljeni ukazi v terminalu Linuxa