Grep komanda Linux

Grep Command Linux



Grep (globālās regulārās izteiksmes drukāšanas) komanda ir visspēcīgākā un regulāri izmantotā Linux komandrindas utilīta. Izmantojot Grep, jūs varat meklēt noderīgu informāciju, norādot meklēšanas kritērijus. Tas meklē noteiktu izteiksmes modeli noteiktā failā. Atrodot atbilstību, tas izdrukā visas faila rindas, kas atbilst norādītajam paraugam. Tas ir noderīgi, ja jums ir jāfiltrē lieli žurnāla faili.

Šajā rakstā mēs izskaidrosim grep utilītas izmantošanu ar dažādiem piemēriem. Mēs izmantosim Debian 10, lai izskaidrotu šajā rakstā minētās komandas un metodes.







Grep instalēšana

Grep ir instalēts lielākajā daļā Linux izplatījumu. Tomēr, ja tā trūkst jūsu sistēmā, varat to instalēt, izmantojot šādu metodi terminālī:



$sudo apt-get instalēt satvēriens

Izmantojot Grep

Šeit ir komandas grep pamata sintakse. Tas sākas ar grep, kam seko dažas iespējas un meklēšanas kritēriji, un pēc tam beidzas ar faila nosaukumu.



$satvēriens [iespējas]RAKSTURS[FILE ...]

Meklējiet failus

Lai meklētu faila nosaukumu direktorijā, kurā ir noteikta virkne, varat izmantot grep šādā veidā:





$ls -viņi | satvēriens -ivirkne

Piemēram, lai meklētu faila nosaukumu, kurā ir virkne pārbaude , komanda būtu šāda:

$ls-viņi| satvēriens- espārbaude

Šī komanda uzskaita visus failus, kas satur virkni pārbaude .



Meklējiet virkni failā

Lai meklētu virkni noteiktā failā, varat izmantot šādu komandu sintaksi:

$satvēriensvirknes faila nosaukums

Piemēram, lai meklētu virkni pārbaude failā ar nosaukumu testa fails 1 , mēs esam izmantojuši šādu komandu :

$satvēriensdarbinieka pārbaudes fails 1

Iepriekš minētais rezultāts ir atgriezis teikumu no testa fails 1 kas satur virkni darbinieks .

Meklējiet virkni vairākos failos

Lai meklētu virkni vairākos failos, varat izmantot šādu komandu sintaksi:

$satvēriensvirkne faila nosaukums1 faila nosaukums2

Piemēram, lai meklētu virknes darbinieku divos failos testfile1 un testfile2, mēs esam izmantojuši šādu komandu:

$satvēriensdarbinieks testfile1 testfile2

Iepriekš minētā komanda uzskaitīs visas rindas, kurās ir virknes darbinieks no abiem failiem testfile1 un testfile2.

Varat arī izmantot aizstājējzīmi, ja visi failu nosaukumi sākas ar vienu un to pašu tekstu.

$satvēriensvirknes faila nosaukums*

Piemēram, ja mēs ņemam iepriekš minēto piemēru, kurā bija mūsu failu nosaukumi testfile1 un testfile2 , komanda būtu šāda:

$satvēriensdarbinieka pārbaudes fails*

Meklējiet virkni failā, ignorējot virknes reģistru

Visbiežāk jūs esat saskāries ar to, kad meklējat kaut ko, izmantojot grep, bet nesaņemat izvadi. Tas notiek tāpēc, ka, meklējot virkni, neatbilst gadījums. Tāpat kā mūsu piemērā, ja mēs kļūdaini izmantojam Darbinieks tā vietā darbinieks , tas atgriezīs nulli, jo mūsu failā ir virkne darbinieks ar mazajiem burtiem.

Varat norādīt grep ignorēt meklēšanas virknes gadījumu, izmantojot –i karogu aiz grep, šādi:

$satvēriens–I virknes faila nosaukums

Izmantojot karodziņu –i, komanda veiks meklēšanu bez reģistriem un atgriež visas rindas, kurās ir virkne darbinieks tajā, neņemot vērā, burti ir lielie vai mazie.

Meklējiet, izmantojot regulāro izteiksmi

Pareizi lietojot, regulārā izteiksme ir ļoti efektīva grep funkcija. Izmantojot komandu Grep, jūs varat definēt regulāru izteiksmi ar sākuma un beigu atslēgvārdu. To darot, jums nebūs jāievada visa rinda ar komandu grep. Šim nolūkam var izmantot šādu sintaksi.

$satvērienssākuma atslēgvārds.*endKeyword faila nosaukums

Piemēram, lai meklētu rindu failā ar nosaukumu testfile1, kas sākas ar virkni un beidzas ar virknes datiem, mēs esam izmantojuši šādu komandu:

$satvēriensšo.*datu pārbaudes fails 1

Tas izdrukās visu rindu no testa fails 1 kas satur izteiksmi (sākuma atslēgvārds šis un beigu atslēgvārda dati).

Izdrukājiet noteiktu rindu skaitu aiz/pirms meklēšanas virknes

Varat arī parādīt konkrētu rindu skaitu failā pirms/pēc virknes atbilstības kopā ar atbilstošo virkni. Šim nolūkam var izmantot šādu sintaksi:

$satvēriens -TO <N>virknes faila nosaukums

Tas parādīs N rindu skaitu pēc tam, kad virkne ir saskaņota norādītajā failā, ieskaitot atbilstošo virkni.

Piemēram, tas ir mūsu parauga fails ar nosaukumu testa fails2 .

Šī komanda izvadīs atbilstošo rindu, kurā ir virkne darbinieks , kopā ar 2 rindām pēc tās.

$satvēriens-TO2–I darbinieka pārbaudes fails2

Līdzīgi, lai parādītu N rindu skaitu pirms atbilstošās virknes noteiktā failā, izmantojiet šādu sintaksi:

$satvēriens -B <N>virknes faila nosaukums

Lai parādītu N rindu skaitu ap virkni noteiktā failā, izmantojiet šādu sintaksi:

$satvēriens -C <N>virknes faila nosaukums

Meklēšanas izcelšana

Grep pēc noklusējuma drukā atbilstošas ​​līnijas, bet neparāda, kura līnijas daļa ir saskaņota. Ja ar grep izmantojat opciju –color, tas parādīs, kur apstrādes stīgas parādās jūsu failā. Grep pēc noklusējuma izcelšanai izmantojiet sarkano krāsu.

Šim nolūkam var izmantot šādu sintaksi:

$satvēriensvirknes faila nosaukums-krāsa

Saspēļu skaita skaitīšana

Ja vēlaties saskaitīt, cik reizes konkrēts vārds parādās konkrētā failā, varat izmantot opciju grep ar –c. Tas atgriež tikai atbilstību skaitu, nevis pašas spēles. Šim nolūkam var izmantot šādu sintaksi:

$satvēriens- c virknes faila nosaukums

Mūsu parauga fails izskatās šādi:

Tālāk ir sniegts komandas piemērs, kas atgriezis vārdu skaitu failu parādījās failā ar nosaukumu testa fails3 .

Apgriezta meklēšana

Dažreiz vēlaties veikt apgriezto meklēšanu, kurā tiek parādītas visas rindas, izņemot tās, kas atbilst ievadītajai. Lai to izdarītu, vienkārši izmantojiet karodziņu –v, kam seko grep:

$satvēriens–V virknes faila nosaukums

Piemēram, lai parādītu visas faila rindas testa fails3 kas tajos nesatur vārdu konts, esam izmantojuši šādu komandu:

$satvēriens–V konta pārbaudes fails3

Grep izmantošana ar citām komandām

Grep var izmantot arī, lai filtrētu nepieciešamo rezultātu no dažādām komandu izvadām. Piemēram, no apt - instalētais saraksts komandu izvadi, jūs vēlaties atrast tikai automātiski instalētās paketes, jūs varat filtrēt rezultātu, izmantojot grep šādi:

$trāpīgs-instalētasarakstu| satvēriensautomātiska

Tāpat lscpu sniedz detalizētu informāciju par CPU. Ja jūs vienkārši interesē informācija par CPU arhitektūru, varat to filtrēt, izmantojot šādu komandu:

$lscpu| satvēriensArhitektūra

Šajā rakstā mēs esam aprakstījuši dažus piemērus, kas palīdzēs jums izprast grep komandas un to izmantošanu dažādos apstākļos. Spēcīga grep komandas satveršana var ietaupīt daudz laika, ja jums ir jāaplūko lieli konfigurācijas vai žurnāla faili un caur tiem jāizvelk noderīga informācija.