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
- Opcijas, kas pieejamas komandā grep
- Praktisks grep komandas piemērs operētājsistēmā Linux
- 1. Meklēšana bez reģistrjutīga
- 2. Atbilstību skaita parādīšana, izmantojot grep
- 3. Parādiet failu nosaukumus, kas atbilst modelim, izmantojot grep
- 4. Visu vārdu pārbaude failā, izmantojot grep
- 5. Parādīt tikai atbilstošo modeli, izmantojot grep
- 6. Rādīt rindas numuru, parādot izvadi, izmantojot grep -n
- 7. Pattern atbilstības invertēšana, izmantojot grep
- 8. Saskaņošana ar rindām, kas sākas ar virkni, izmantojot grep
- 9. Saskaņošana ar rindām, kas beidzas ar virkni, izmantojot grep
- 10.Norāda izteiksmi ar opciju -e
- 11. -f faila opcija Ņem paraugus no faila, pa vienam katrā rindā
- 12. Drukājiet n noteiktas rindiņas no faila, izmantojot grep
- 13. Rekursīvi meklējiet paraugu direktorijā
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
1. Meklēšana bez reģistrjutīga
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
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
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
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ā
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
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
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
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
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
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ē.