grep komanda Unix/Linux

grep komanda Unix/Linux

The grep> komanda Unix/Linux ir spēcīgs rīks, ko izmanto teksta modeļu meklēšanai un manipulēšanai failos. Tās nosaukums ir atvasināts no ed (redaktora) komandas g/re/p (vispārēji meklēt regulāru izteiksmi un drukāt atbilstošas ​​rindas), kas atspoguļo tās pamatfunkcionalitāti. grep> To plaši izmanto programmētāji, sistēmu administratori un lietotāji, jo tā ir efektīva un daudzpusīga teksta datu apstrādē. Šajā rakstā mēs izpētīsim dažādus aspektus grep> komandu.

Satura rādītājs

Komandas grep sintakse operētājsistēmā Unix/Linux

` pamata sintakse grep`> komanda ir šāda:

  grep [options] pattern [files] 

Šeit,

[> options> ]> : tie ir komandrindas karodziņi, kas maina uzvedību grep> .

[> pattern> ]> : šī ir regulārā izteiksme, kuru vēlaties meklēt.

[> file> ]> : Šis ir faila(-u) nosaukums, kurā vēlaties meklēt. Varat norādīt vairākus failus vienlaicīgai meklēšanai.

Opcijas, kas pieejamas komandā grep

Iespējas

Apraksts

-c

Tas izdrukā tikai to līniju skaitu, kas atbilst rakstam

-h

Parādiet atbilstošās rindas, bet nerādiet failu nosaukumus.

i

Ignorē, reģistrs saskaņošanai

-l

Parāda tikai failu nosaukumu sarakstu.

-n

Parādiet atbilstošās līnijas un to rindu numurus.

-in

Tādējādi tiek izdrukātas visas līnijas, kas neatbilst rakstam

-e exp

Norāda izteiksmi ar šo opciju. Var izmantot vairākas reizes.

-f fails

Ņem paraugus no faila, pa vienam katrā rindā.

-UN

Apstrādā modeli kā paplašinātu regulāro izteiksmi (ERE)

-Iekšā

Saskaņojiet visu vārdu

-O

Drukājiet tikai atbilstošās līnijas atbilstošās daļas, katrai no tām norādot atsevišķu izvades līniju.

-A n

Drukā meklēto rindiņu un nrindiņas pēc rezultāta.

-B n

Drukā meklēto rindiņu un n rindiņu pirms rezultāta.

-C n

Drukā meklēto rindiņu un n rindas pēc tam pirms rezultāta.

Komandu paraugi

Apsveriet tālāk norādīto failu kā ievadi.

cat>geekfile.txt 

unix ir lieliska operētājsistēma. unix tika izstrādāts Bell laboratorijās.

apgūt operētājsistēmu.

Unix Linux kuru izvēlaties.

uNix ir viegli iemācīties. Unix ir daudzlietotāju operētājsistēma. Learn Unix. Unix ir spēcīgs.

Praktisks grep komandas piemērs operētājsistēmā Linux

Opcija -i dod iespēju dotajā failā nejutīgi meklēt virknes reģistru. Tas atbilst tādiem vārdiem kā UNIX, Unix, unix.

grep -i 'UNix' geekfile.txt 

Izvade:

reģistrjutīga meklēšana

reģistrjutīga meklēšana

2. Atbilstību skaita parādīšana, izmantojot grep

Mēs varam atrast rindu skaitu, kas atbilst dotajai virknei / modelim

grep -c 'unix' geekfile.txt 

Izvade:

Tiek parādīts spēļu skaits

Tiek parādīts spēļu skaits

3. Parādiet failu nosaukumus, kas atbilst modelim, izmantojot grep

Mēs varam vienkārši parādīt failus, kas satur doto virkni / modeli.

grep -l 'unix' * 

vai

grep -l 'unix' f1.txt f2.txt f3.xt f4.txt 

Izvade:

Faila nosaukums, kas atbilst modelim

Faila nosaukums, kas atbilst modelim

4. Visu vārdu pārbaude failā, izmantojot grep

Pēc noklusējuma grep sakrīt ar doto virkni/rakstu pat tad, ja failā tā tiek atrasta kā apakšvirkne. Grep opcija -w padara to atbilstību tikai visiem vārdiem.

grep -w 'unix' geekfile.txt 

Izvade:

veselu vārdu pārbaude failā

veselu vārdu pārbaude failā

5. Parādīt tikai atbilstošo modeli, izmantojot grep

Pēc noklusējuma grep parāda visu rindu, kurā ir atbilstošā virkne. Mēs varam likt grep parādīt tikai atbilstošo virkni, izmantojot opciju -o.

grep -o 'unix' geekfile.txt 

Izvade:

Tiek rādīts tikai atbilstošs modelis

Tiek rādīts tikai atbilstošs modelis

6. Rādīt rindas numuru, parādot izvadi, izmantojot grep -n

Lai parādītu faila rindas numuru ar saskaņotu rindu.

grep -n 'unix' geekfile.txt 

Izvade:

Rādīt rindas numuru, vienlaikus parādot izvadi

Rādīt rindas numuru, vienlaikus parādot izvadi

7. Pattern atbilstības invertēšana, izmantojot grep

Varat parādīt rindas, kas neatbilst norādītajam meklēšanas virknes modelim, izmantojot opciju -v.

grep -v 'unix' geekfile.txt 

Izvade:

Raksta atbilstības apvēršana

Raksta atbilstības apvēršana

8. Saskaņošana ar rindām, kas sākas ar virkni, izmantojot grep

Regulārās izteiksmes modelis ^ norāda rindas sākumu. To var izmantot grep, lai saskaņotu līnijas, kas sākas ar doto virkni vai rakstu.

grep '^unix' geekfile.txt 

Izvade:

Saskaņošana ar rindām, kas sākas ar virkni

Saskaņošana ar rindām, kas sākas ar virkni

9. Līniju saskaņošana, kas beidzas ar virkni, izmantojot grep

$ regulārās izteiksmes modelis norāda rindas beigas. To var izmantot grep, lai saskaņotu līnijas, kas beidzas ar doto virkni vai rakstu.

grep 'os$' geekfile.txt 

10.Norāda izteiksmi ar opciju -e

Var izmantot vairākas reizes:

grep –e 'Agarwal' –e 'Aggarwal' –e 'Agrawal' geekfile.txt 

11. -f faila opcija Ņem paraugus no faila, pa vienam katrā rindā

cat pattern.txt 

Agarvals
Aggarwal
Agrawal

grep –f pattern.txt geekfile.txt 

12. Drukājiet n noteiktas rindiņas no faila, izmantojot grep

-A izdrukā meklēto rindiņu un n rindas pēc rezultāta, -B drukā meklēto rindiņu un n rindas pirms rezultāta, un -C drukā meklēto rindiņu un n rindas pēc un pirms rezultāta.

Sintakse:

grep -A[NumberOfLines(n)] [search] [file] grep -B[NumberOfLines(n)] [search] [file] grep -C[NumberOfLines(n)] [search] [file] 

Piemērs:

grep -A1 learn geekfile.txt 

Izvade:

Drukājiet n noteiktas rindiņas no faila

Drukājiet n noteiktas rindiņas no faila

13. Rekursīvi meklējiet šablonu D irectory

-R izdrukā meklēto modeli dotajā direktorijā rekursīvi visos failos.

Sintakse:

grep -R [Search] [directory] 

Piemērs :

grep -iR geeks /home/geeks 

Izvade:

./geeks2.txt:Well Hello Geeks ./geeks1.txt:I am a big time geek ---------------------------------- -i to search for a string case insensitively -R to recursively check all the files in the directory. 

Secinājums

Šajā rakstā mēs apspriedām grep> komanda Linux, kas ir spēcīgs teksta meklēšanas rīks, kas izmanto regulāras izteiksmes, lai atrastu modeļus vai tekstu failos. Tas piedāvā dažādas iespējas, piemēram, reģistrjutīgumu, sakritību skaitīšanu un failu nosaukumu uzskaitīšanu. Ar iespēju meklēt rekursīvi, izmantot regulāro izteiksmju karogus un pielāgot izvadi, grep> ir būtisks rīks Linux lietotājiem, lai efektīvi veiktu ar tekstu saistītus uzdevumus. Apgūšana grep> uzlabo jūsu spēju strādāt ar teksta datiem Linux vidē.