grep

Grep komanda Linux

Grep komanda Linux
Grep (globālās regulārās izteiksmes drukāšana) ir visspēcīgākā un regulāri izmantotā Linux komandrindas lietderība. Izmantojot Grep, varat meklēt noderīgu informāciju, norādot meklēšanas kritērijus. Tas meklē noteiktu izteiksmes modeli norādītajā failā. Atrodot atbilstību, tas izdrukā visas faila rindas, kas atbilda norādītajam paraugam. Tas ir noderīgi, ja jāfiltrē caur lieliem žurnālfailiem.

Šajā rakstā mēs izskaidrosim grep lietderības 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īšanas. Tomēr, ja tas jūsu sistēmā nav, varat to instalēt, izmantojot šādu metodi Terminal:

$ sudo apt-get install grep

Izmantojot Grep

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

$ grep [opcijas] PATTERN [FILE…]

Meklējiet failus

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

$ ls -l | grep -i “virkne

Piemēram, lai meklētu faila nosaukumu, kurā ir virkne “pārbaude“, Komanda būtu:

$ ls -l | grep -i tests

Šajā komandā ir uzskaitīti visi faili, kas satur virkni “pārbaude”.

Meklējiet virkni failā

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

$ grep “string” faila nosaukums

Piemēram, lai meklētu virkni “pārbaude”Failā ar nosaukumu testa fails1, mēs izmantojām šādu komandu:

$ grep “darbinieka” testa fails1

Iepriekš minētais rezultāts ir atgriezis teikumu no testa fails1 kurā ir virkne “darbinieks”.

Meklējiet virkni vairākos failos

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

$ grep “string” faila nosaukums1 faila nosaukums2

Piemēram, lai meklētu virkni “darbinieks” divos failos testfile1 un testfile2, mēs izmantojām šādu komandu:

$ grep “darbinieks” testfile1 testfile2

Iepriekš minētajā komandā tiks uzskaitītas visas rindas, kurās ir virkne “darbinieks” gan no failiem testfile1, gan testfile2.

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

$ grep “string” faila nosaukums *

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

$ grep “darbinieka” testa fails *

Meklējiet virkni failā, ignorējot virknes burtu

Visbiežāk jūs esat saskāries ar to, kad kaut ko meklējat, izmantojot grep, bet nesaņemat rezultātu. Tas notiek tāpēc, ka, meklējot virkni, neatbilstība gadījumiem. Tāpat kā mūsu piemērā, ja kļūdaini izmantojamDarbinieks" tā vietā "darbinieks”, Tā atgriezīsies nulle, jo mūsu failā ir virkne“darbinieks”Ar mazajiem burtiem.

Jūs varat pateikt grep ignorēt meklēšanas virknes gadījumu, pēc grep izmantojot -i karodziņu šādi:

$ grep -i “string” faila nosaukums

Izmantojot karodziņu -i, komanda veiks reģistrjutīgu meklēšanu un atgriezīs visas rindas, kurās ir virkne “darbinieks”Tajā, neņemot vērā burtus, ir lielie vai mazie burti.

Meklēt, izmantojot regulāro izteiksmi

Ja regulārā izteiksme tiek pareizi lietota, tā ir ļoti efektīva grep funkcija. Izmantojot komandu Grep, jūs varat definēt regulāru izteiksmi ar sākuma un beigu atslēgvārdiem. To darot, jums nevajadzēs ierakstīt visu rindu ar komandu grep. Šim nolūkam var izmantot šādu sintaksi.

$ grep “sākuma atslēgvārds.* endKeyword ”faila nosaukums

Piemēram, lai meklētu līniju failā ar nosaukumu testfile1, kas sākas ar virkni “this” un beidzas ar virkni “data”, mēs izmantojām šādu komandu:

$ grep “tas.* dati ”testa fails1

Tas izdrukās visu līniju no testa fails1 satur izteicienu (sākuma atslēgvārds “šis” un beigu atslēgvārds “dati”).

Izdrukājiet noteiktu rindiņu skaitu aiz / pirms meklēšanas virknes

Varat arī parādīt noteiktu rindiņu skaitu failā pirms / pēc virknes spēles kopā ar pašu saskaņoto virkni. Šim nolūkam var izmantot šādu sintaksi:

$ grep -A “String” faila nosaukums

Pēc virknes saskaņošanas norādītajā failā, ieskaitot saskaņoto virkni, tas parādīs N rindu skaitu.

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

Šī komanda izvadīs saskaņoto līniju, kurā ir virkne “darbinieks”Kopā ar 2 līnijām pēc tā.

$ grep -A 2 -i “darbinieka” testa fails2

Līdzīgi, lai konkrētā failā parādītu N rindu skaitu pirms saskaņotās virknes, izmantojiet šādu sintaksi:

$ grep -B “String” faila nosaukums

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

$ grep -C “String” faila nosaukums

Izceļot meklēšanu

Grep pēc noklusējuma drukāt saskaņotās līnijas, bet neuzrāda, kura līnijas daļa ir saskaņota. Ja izmantojat opciju -color ar grep, tas parādīs, kur jūsu failā parādās apstrādes virknes. Grep pēc noklusējuma izcelšanai izmantojiet sarkano krāsu.

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

$ grep “string” faila nosaukums - krāsa

Skaita maču skaitu

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

$ grep -c “string” faila nosaukums

Šis mūsu faila paraugs izskatās šādi:

Šis ir piemērs komandai, kas atgrieza vārdu reižu skaitu failu parādījās failā ar nosaukumu testa fails3.

Apgriezta meklēšana

Dažreiz jūs vēlaties veikt reverso meklēšanu, kurā tiek parādītas visas rindas, izņemot tās, kas atbilst ievadei. Lai to izdarītu, vienkārši izmantojiet -v karogu, kam seko grep:

$ grep -v “string” faila nosaukums

Piemēram, lai parādītu visas faila rindas testa fails3 kurās nav vārda “konts”, mēs izmantojām šādu komandu:

$ grep -v “konta” testa fails3

Grep izmantošana ar citām komandām

Grep var izmantot arī, lai filtrētu nepieciešamo rezultātu no dažādu komandu izvades. Piemēram, noapt -instalēts saraksts ” komandas izvadi, vēlaties atrast tikai automātiski instalētos pakotnes, rezultātu var filtrēt, izmantojot grep šādi:

$ apt --instalēts saraksts | grep automātisks

Līdzīgi 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 | grep Arhitektūra

Šajā rakstā mēs esam aprakstījuši dažus piemērus, kas palīdzēs izprast grep komandas un to lietošanu dažādos apstākļos. Spēcīga grep komandas saķere var ietaupīt daudz laika, ja jums ir nepieciešams aplūkot lielus konfigurācijas vai žurnālfailus un caur tiem iegūt noderīgu informāciju.

Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...
Microsoft Sculpt Touch bezvadu peles apskats
Es nesen lasīju par Microsoft Sculpt Touch bezvadu pele un nolēma to nopirkt. Pēc kāda laika izmantošanas es nolēmu dalīties savā pieredzē ar to. Šo b...
AppyMouse ekrāna skārienpaliktnis un peles rādītājs Windows planšetdatoriem
Planšetdatoru lietotājiem bieži pietrūkst peles rādītāja, it īpaši, ja viņi parasti lieto klēpjdatorus. Skārienekrāna viedtālruņiem un planšetdatoriem...