Sintakse
$ grep 'pattern1 \ | pattern2' faila nosaukumsRegulāra izteiksme vienmēr tiek rakstīta vienā citātā. Divi vārdi ir atdalīti ar slīpsvītru un izmaiņu operatoru. Komanda tiek pabeigta ar faila nosaukumu. Veicot grep rekursīvu, viena faila nosaukuma vietā tiek izmantots direktorijs vai viss ceļš.
Priekšnoteikums
Šajā rakstā mēs uzzināsim grep funkcionalitāti, meklējot vairākus modeļus un virknes. Šim nolūkam virtuālajā lodziņā ir jābūt darbināmai Linux operētājsistēmai. Jums tas jāinstalē savā sistēmā. Pēc konfigurēšanas jums būs piekļuve visu programmu izmantošanai. Pēc pieteikšanās pie lietotāja, norādot paroli, dodieties uz termināļa čaulas komandrindu, lai turpinātu.
Meklēt pēc vairākiem modeļiem failā, izmantojot Grep
Ja mēs vēlamies meklēt vairākus modeļus vai virknes konkrētā failā, izmantojiet grep funkcionalitāti, lai kārtotu failā, izmantojot vairāk nekā vienu ievades vārdu komandā. Mēs izmantojam '\ |' operatori divu modeļu atdalīšanai komandā.
$ grep 'tehniskais \ | darbs' filea.txtKomanda parāda, kā darbojas grep. Abi minētie faili tiks meklēti failā.txt. Meklētie vārdi tiek izcelti visā izvades tekstā.
Lai meklētu vairāk nekā divus vārdus, mēs turpināsim tos pievienot tajā pašā metodē.
$ grep 'graphic \ | photoshop \ | plakāti' fileb.txt
Meklējiet vairākas virknes, ignorējot lietu
Lai saprastu lielo un mazo burtu jutības jēdzienu Linux grep funkcijā, apsveriet šādu piemēru. Grep darbojas divas komandas. Viens ir ar '-i', bet otrs ir bez. Šis piemērs parāda komandu atšķirības. Pirmais parāda, ka dotajā failā tiks meklēti divi vārdi. Tomēr, kā norādīts komandā “Aqsa”, tas sākas ar lielo burtu A. Tādējādi tas netiks izcelts, jo konkrētā failā šis teksts ir ar mazajiem burtiem.
$ grep 'Aqsa \ | sister' fails20.txtTas ņems vērā tikai vārdu māsa, kas būs redzams izvadē.
Otrajā piemērā mēs esam ignorējuši reģistrjutīgumu, izmantojot karodziņu “-I”. Šī funkcija meklēs abus vārdus, un izeja tiks izcelta. Neatkarīgi no tā, vai vārds “Aqsa” ir rakstīts ar lielajiem burtiem vai nē, grep failā meklēs to pašu atbilstību tekstā. Tātad, abas komandas ir noderīgas savos veidos.
$ grep -I 'Aqsa \ | māsa' fails20.txt
Vairāku spēļu saskaitīšana failā
Funkcija Skaitīšana palīdz skaitīt vārda vai vārdu parādīšanos konkrētā failā. Piemēram, ja vēlaties uzzināt par sistēmā notiekošajām kļūdām. Sīkāka informācija tiek ierakstīta žurnālu failā. Lai saglabātu šo informāciju noteiktā mapē, jūs rakstīsit mapju ceļu. Šis piemērs parāda, ka žurnālfailos radās 71 kļūda.
Meklēt failā precīzas atbilstības
Ja vēlaties atrast precīzu atbilstību savas sistēmas failos, lai to precīzi kārtotu, jāizmanto karodziņš “-w”. Mēs esam citējuši vienkāršu un visaptverošu piemēru. Apsveriet meklēšanu zemāk esošajā piemērā bez “-w”, ar šo komandu abi vārdi tiks saskaņoti ar doto ievadi. Bet, izmantojot “-w” karodziņu, meklēšana būs ierobežota, jo ievades vārdi atbilst tikai pirmajai virknei. Otrais vārds nav izcelts, jo “-w” ļauj precīzi saskaņot modeli.
$ -iw 'hamna \ | house' fails21.txtŠeit -I tiek izmantots arī, lai noņemtu reģistrjutību, meklējot tekstu.
Kā redzams fotoattēlā, rezultāti nav vienādi. Pirmā komanda apvieno visus saistītos datus ar veselām virknēm, bet otrā komanda parāda, kā precīzi dati sakrīt ar grep, meklējot vairākas virknes.
Grep, lai iegūtu vairāk nekā vienu modeli noteiktā faila paplašinājuma tipā
Meklēšana tiek veikta visos failos. Tas ir atkarīgs no jums, ja meklējat, norādot faila nosaukumu. Tas meklēs tikai noteiktos failos. Bet, nodrošinot faila paplašinājumu, dati tiks meklēti visos tā paša paplašinājuma failos. Ir divi dažādi piemēri, lai attēlotu saistīto rezultātu. Ņemot vērā pirmo piemēru, kļūdu faili tiks skaitīti visos failos .žurnāla pagarinājums. “-C” tiek izmantots skaitīšanai.
$ grep -c 'brīdinājums \ | kļūda' / var / log / *.žurnāls
Šī komanda nozīmē, ka faili tiks meklēti visos failos .žurnāla pagarinājums. Spēļu skaits tiks parādīts izvadē, lai labāk parādītu grep ar konkrēto faila paplašinājumu.
Otrajā piemērā failos Linux esam izmantojuši divus vārdus ar teksta paplašinājumu. Visi dati tiks parādīti skaitļu formā. 0 norāda, ka nav atbilstošu datu, savukārt, izņemot 0, tiek parādīta atbilstība.
$ grep -c 'aqsa \ | my' / home / aqsayasin / *.txt
Vairāku rakstu meklēšana rekursīvi failā
Pēc noklusējuma pašreizējais katalogs tiek izmantots, ja komandā nav minēts neviens direktorijs. Ja vēlaties meklēt direktorijā pēc savas izvēles, tas jums ir jāpiemin. Operators “-r” tiek izmantots grep rekursīvi./ home / aqsayasin / parāda failu ceļu, turpretī *.txt parāda paplašinājumu. Teksta faili būs grep mērķis rekursīvai meklēšanai.
$ grep -R 'technical \ | free' / home / aqsayasin / *.txt
Vēlamais rezultāts ir izcelts rezultātā, parādot šo vārdu esamību.
Secinājums
Iepriekš minētajā rakstā mēs esam citējuši dažādus piemērus, lai lietotājam būtu vieglāk saprast komandu darbību, meklējot vairākus modeļus Linux. Šī rokasgrāmata palīdzēs jums paplašināt esošās zināšanas.