Šiame straipsnyje paaiškinsime grep naudingumo naudojimą įvairiais pavyzdžiais. Mes naudosime „Debian 10“, kad paaiškintume šiame straipsnyje nurodytas komandas ir metodus.
Grep diegimas
„Grep“ yra įdiegta daugelyje „Linux“ platinimų. Tačiau tuo atveju, jei jos trūksta jūsų sistemoje, galite ją įdiegti naudodami šį terminalo metodą:
$sudo apt-get install sukibimas
Grepo naudojimas
Čia yra pagrindinė grep komandos sintaksė. Jis prasideda grep, po kurio seka kai kurios parinktys ir paieškos kriterijai, o paskui baigiasi failo pavadinimu.
$sukibimas [galimybės]RAŠTAS[FILE ...]
Ieškokite failų
Norėdami ieškoti failo pavadinimo kataloge, kuriame yra tam tikra eilutė, galite naudoti grep taip:
$ls -jie | sukibimas -ieilutė
Pavyzdžiui, ieškoti failo pavadinimo, kuriame yra eilutė testas , komanda būtų tokia:
$ls-jie| sukibimas- aštestasŠi komanda išvardija visus failus, kuriuose yra eilutė testas .
Ieškokite eilutės faile
Norėdami ieškoti eilutės tam tikrame faile, galite naudoti šią komandų sintaksę:
$sukibimaseilutės failo pavadinimasPavyzdžiui, ieškoti eilutės testas faile pavadinimu bandomasis failas1 , mes panaudojome šią komandą :
$sukibimasdarbuotojo bandomasis failas1Aukščiau pateikta produkcija grąžino sakinį iš bandomasis failas1 kuriame yra eilutė darbuotojas .
Ieškokite eilutės keliuose failuose
Norėdami ieškoti eilutės keliuose failuose, galite naudoti šią komandų sintaksę:
$sukibimaseilutė failo pavadinimas1 failo pavadinimas2Pavyzdžiui, norėdami ieškoti eilutės darbuotojo dviejuose mūsų failuose testfile1 ir testfile2, naudojome šią komandą:
$sukibimasdarbuotojo testfile1 testfile2Aukščiau pateiktoje komandoje bus išvardytos visos eilutės, kuriose yra eilutės darbuotojas iš failų testfile1 ir testfile2.
Taip pat galite naudoti pakaitos simbolį, jei visi failų pavadinimai prasideda tuo pačiu tekstu.
$sukibimaseilutės failo pavadinimas*Pavyzdžiui, jei imtume aukščiau pateiktą pavyzdį, kuriame buvo mūsų failų pavadinimai testfile1 ir testfile2 , komanda būtų tokia:
$sukibimasdarbuotojo bandomoji byla*Ieškokite eilutės faile, ignoruodami eilutės raidę
Dažniausiai jūs susidūrėte su tuo, kai ieškote kažko naudodami grep, bet negaunate išvesties. Taip atsitinka dėl to, kad ieškant eilutės neatitinka raidžių. Kaip ir mūsų pavyzdyje, jei klaidingai naudojame Darbuotojas vietoj darbuotojas , jis grąžins nulį, nes mūsų faile yra eilutė darbuotojas mažosiomis raidėmis.
Galite nurodyti grep ignoruoti paieškos eilutės atvejį, naudodami –i vėliavą po grep taip:
$sukibimas–I eilutės failo pavadinimasNaudodama –i vėliavą, komanda atliks didžiųjų ir mažųjų raidžių paiešką ir grąžins visas eilutes, kuriose yra eilutė darbuotojas jame neatsižvelgiant į tai, kad raidės yra didžiosios arba mažosios.
Ieškokite naudodami įprastą išraišką
Tinkamai naudojant, reguliarioji išraiška yra labai veiksminga grep funkcija. Naudodami komandą Grep, galite apibrėžti įprastą išraišką su pradžios ir pabaigos raktažodžiu. Tai darydami, jums nereikės įvesti visos eilutės naudojant komandą grep. Tam gali būti naudojama ši sintaksė.
$sukibimaspradžios raktinis žodis.*EndKeyword failo pavadinimasPavyzdžiui, norėdami ieškoti eilutės faile, pavadintame testfile1, prasidedančia šia eilute ir baigiančia eilutės duomenimis, naudojome šią komandą:
$sukibimastai.*duomenų testas 1Jis išspausdins visą eilutę iš bandomasis failas1 kuriame yra išraiška (pradinis raktinis žodis šis ir pabaigos raktinio žodžio duomenys).
Atspausdinkite tam tikrą eilučių skaičių po/prieš paieškos eilutę
Taip pat galite parodyti konkretų eilučių skaičių faile prieš/po eilutės atitikties kartu su pačia suderinta eilute. Tam gali būti naudojama ši sintaksė:
$sukibimas -TO <N>eilutės failo pavadinimasPo to, kai eilutė bus suderinta nurodytame faile, įskaitant atitinkamą eilutę, bus rodomas N eilučių skaičius.
Pavyzdžiui, tai yra mūsų pavyzdinis failas, pavadintas testfile2 .
Ši komanda išves suderintą eilutę, kurioje yra eilutė darbuotojas , kartu su 2 eilutėmis po jo.
$sukibimas-TO2- mano darbuotojo bandomasis failas2Panašiai, norėdami parodyti N eilučių skaičių prieš atitinkamą failo eilutę, naudokite šią sintaksę:
$sukibimas -B <N>eilutės failo pavadinimasNorėdami parodyti N eilučių skaičių aplink eilutę konkrečiame faile, naudokite šią sintaksę:
$sukibimas -C <N>eilutės failo pavadinimasPaieškos išryškinimas
Grep pagal numatytuosius nustatymus spausdina suderintas eilutes, bet nerodo, kuri eilutės dalis yra suderinta. Jei su grep naudojate –color parinktį, ji parodys, kur jūsų faile rodomos apdirbimo eilutės. Grep pagal numatytuosius nustatymus naudokite raudoną spalvą.
Tam gali būti naudojama ši sintaksė:
$sukibimaseilutės failo pavadinimas-spalvaSkaičiuojamas rungtynių skaičius
Jei norite suskaičiuoti, kiek kartų tam tikras žodis pasirodo konkrečiame faile, galite naudoti parinktį grep su –c. Pateikiamas tik rungtynių skaičius, o ne pačios rungtynės. Tam gali būti naudojama ši sintaksė:
$sukibimas- c eilutės failo pavadinimasMūsų pavyzdinis failas atrodo taip:
Toliau pateikiamas komandos pavyzdys, kuris grąžino žodžio kartų skaičių failą pasirodė faile pavadinimu bandomasis failas3 .
Apversta paieška
Kartais norite atlikti atvirkštinę paiešką, kurioje rodomos visos eilutės, išskyrus tas, kurios atitinka įvestį. Norėdami tai padaryti, tiesiog naudokite vėliavą –v, o po to - grep:
$sukibimas–V eilutės failo pavadinimasPavyzdžiui, kad būtų rodomos visos failo eilutės bandomasis failas3 kuriuose nėra žodžio sąskaita, naudojome šią komandą:
$sukibimas–V paskyros testfile3Grep naudojimas su kitomis komandomis
Grep taip pat gali būti naudojamas norint filtruoti reikiamą rezultatą iš skirtingų komandų išvesties. Pavyzdžiui, iš apt - įdiegtas sąrašas komandų išvestį, norite rasti tik automatiškai įdiegtus paketus, galite filtruoti rezultatą naudodami grep taip:
$tinkamas-įdiegtasąrašą| sukibimasautomatinis
Panašiai „lscpu“ pateikia išsamią informaciją apie procesorių. Jei jus tiesiog domina informacija apie procesoriaus architektūrą, galite ją filtruoti naudodami šią komandą:
$lscpu| sukibimasArchitektūraŠiame straipsnyje aprašėme keletą pavyzdžių, kurie padės suprasti grep komandas ir jų naudojimą skirtingomis sąlygomis. Tvirtas „grep“ komandos valdymas gali sutaupyti daug laiko, jei jums reikia peržiūrėti dideles konfigūracijos ar žurnalo failus ir per juos peržvelgti naudingą informaciją.