V tem članku bomo z različnimi primeri razložili uporabo pripomočka grep. Debian 10 bomo uporabili za razlago ukazov in metod, omenjenih v tem članku.
Namestitev Grepa
Grep je nameščen v večini distribucij Linuxa. Če pa v vašem sistemu manjka, ga lahko namestite na naslednji način v terminalu:
$sudo apt-get install oprijem
Uporaba Grepa
Tu je osnovna skladnja ukaza grep. Začne se z grep, ki mu sledijo nekatere možnosti in kriteriji iskanja, nato pa se konča z imenom datoteke.
$oprijem [opcije]VZOREC[MAPA...]
Poiščite datoteke
Če želite poiskati ime datoteke v imeniku, ki vsebuje določen niz, lahko uporabite grep na naslednji način:
$ls - | oprijem -jazvrvica
Na primer, za iskanje imena datoteke, ki vsebuje niz preskus , ukaz bi bil:
$ls-| oprijem-jazpreskusTa ukaz navaja vse datoteke, ki vsebujejo niz preskus .
Poiščite niz v datoteki
Za iskanje niza v določeni datoteki lahko uporabite naslednjo sintakso ukaza:
$oprijemime datoteke nizaNa primer, za iskanje niza preskus v datoteki z imenom testna datoteka1 , uporabili smo naslednji ukaz :
$oprijemtestni dokument zaposlenih1Zgornji izhod je vrnil stavek iz testna datoteka1 ki vsebuje niz zaposlenega .
Poiščite niz v več datotekah
Za iskanje niza v več datotekah lahko uporabite naslednjo sintakso ukaza:
$oprijemniz ime datoteke1 ime datoteke2Na primer, za iskanje zaposlenega niza v naših dveh datotekah testfile1 in testfile2 smo uporabili naslednji ukaz:
$oprijemtestfile zaposlenih1 testfile2Zgornji ukaz bo navedel vse vrstice, ki vsebujejo zaposlenega niza iz obeh datotek testfile1 in testfile2.
Uporabite lahko tudi nadomestni znak, če se vsa imena datotek začnejo z istim besedilom.
$oprijemime datoteke niza*Če vzamemo zgornji primer, v katerem so bila naša imena datotek testfile1 in testfile2 , ukaz bi bil:
$oprijemtestni dokument zaposlenih*Poiščite niz v datoteki tako, da prezrete velike in male črke niza
Najpogosteje ste se srečali s tem, ko iščete nekaj z uporabo grep, vendar ne dobite izpisa. To se zgodi zaradi neskladja velikih in malih črk med iskanjem niza. Tako kot v našem primeru, če pomotoma uporabimo Zaposleni namesto zaposlenega , vrne nič, saj naša datoteka vsebuje niz zaposlenega z malimi črkami.
Grepu lahko rečete, naj ignorira primer iskalnega niza, tako da uporabite zastavico –i za grepom, kot sledi:
$oprijem–I niz datoteke imeZ zastavo –i bo ukaz izvedel iskanje, ki ni občutljivo na velike in male črke, ter vrnilo vse vrstice, ki vsebujejo niz zaposlenega v njem brez upoštevanja črk so velike ali male črke.
Iščite z regularnim izrazom
Če se pravilno uporablja, je regularni izraz zelo učinkovita lastnost v grepu. Z ukazom Grep lahko določite regularni izraz z začetno in končno ključno besedo. S tem vam ne bo treba vnesti celotne vrstice z ukazom grep. V ta namen lahko uporabite naslednjo skladnjo.
$oprijemzačetna ključna beseda.*ime datotekeNa primer, za iskanje vrstice v datoteki z imenom testfile1, ki se začne z nizom this in konča s podatki o nizu, smo uporabili naslednji ukaz:
$oprijemto.*podatkovni testni datoteki1Natisnila bo celotno vrstico iz testna datoteka1 ki vsebuje izraz (začetna ključna beseda this in podatki o zaključni ključni besedi).
Natisnite določeno število vrstic za/pred iskalnim nizom
Prav tako lahko prikažete določeno število vrstic v datoteki pred/po ujemanju niza skupaj s samim ujemajočim se nizom. V ta namen lahko uporabite naslednjo skladnjo:
$oprijem -TO <N>ime datoteke nizaPo ujemanju niza v podani datoteki, vključno z ujemajočim se nizom, bo prikazano N število vrstic.
Na primer, to je naša vzorčna datoteka z imenom testfile2 .
Naslednji ukaz bo prikazal ujemajočo se vrstico, ki vsebuje niz zaposlenega skupaj z dvema vrsticama za njim.
$oprijem-TO2–I testna datoteka zaposlenih2Podobno za prikaz števila vrstic pred ujemajočim se nizom v določeni datoteki uporabite naslednjo skladnjo:
$oprijem -B <N>ime datoteke nizaZa prikaz števila vrstic okoli niza v določeni datoteki uporabite naslednjo skladnjo:
$oprijem -C <N>ime datoteke nizaPoudarjanje iskanja
Grep privzeto natisne ujemajoče se vrstice, vendar ne prikaže, kateri del vrstice se ujema. Če uporabite možnost -color z grep, bo prikazano, kje so v datoteki prikazani strojni nizi. Grep privzeto uporabite za označevanje rdeče barve.
V ta namen lahko uporabite naslednjo skladnjo:
$oprijemime datoteke niza-barvaŠtetje števila tekem
Če želite šteti, kolikokrat se določena beseda pojavi v določeni datoteki, lahko uporabite možnost grep z –c. Vrne samo število ujemanj in ne samih ujemanj. V ta namen lahko uporabite naslednjo skladnjo:
$oprijem–C ime datoteke nizovTakole izgleda naša vzorčna datoteka:
Sledi primer ukaza, ki je vrnil število besed mapa pojavil v datoteki z imenom testfile3 .
Obrnjeno iskanje
Včasih želite izvesti obratno iskanje, ki prikaže vse vrstice, razen tistih, ki se ujemajo z vnosom. Če želite to narediti, preprosto uporabite zastavico –v, ki ji sledi grep:
$oprijem–V ime datoteke nizovNa primer za prikaz vseh vrstic v datoteki testfile3 ki ne vsebujejo besede računa, smo uporabili naslednji ukaz:
$oprijem–V testna datoteka računa3Uporaba Grepa z drugimi ukazi
Grep lahko uporabite tudi za filtriranje zahtevanega rezultata iz različnih izhodov ukazov. Na primer iz apt - nameščen seznam ukaz izhod, želite najti samo pakete, ki so bili samodejno nameščeni, rezultat lahko filtrirate s pomočjo grep na naslednji način:
$apt-nameščenseznam| oprijemsamodejno
Podobno lscpu ponuja podrobne informacije o CPE -ju. Če vas zanimajo samo informacije o arhitekturi procesorja, jih lahko filtrirate z naslednjim ukazom:
$lscpu| oprijemArhitekturaV tem članku smo opisali nekaj primerov, ki vam bodo pomagali razumeti ukaze grep in njihovo uporabo v različnih pogojih. Močan oprijem ukaza grep lahko prihrani veliko časa, če si želite ogledati velike konfiguracijske ali dnevniške datoteke in skozi njih prelistati uporabne informacije.