⇤ ← Versija 1 nuo 2009-05-10 08:24:43
Dydis: 457
Komentaras:
|
Dydis: 4033
Komentaras:
|
Pašalinimai yra pažymėti taip. | Pridėjimai yra pažymėti taip. |
Eilutė 12: | Eilutė 12: |
##Plačiau paaiškinkite terminą, juo nusakomo objekto svarbą, veikimo principą ir tt. | Dažniausiai komandos grep naudojamos vėliavėlės yra šios: * -i nepaisyti didžiųjų ir mažųjų raidžių skirtumo; * -v išvesti į ekraną tik tas eilutes, kuriose nėra ieškomo teksto; * -c išvesti į ekraną tik sutampančių eilučių skaičių; * -n išvesti į ekraną eilutės numerį ir su ieškomu tekstu sutampančią eilutę; * -w išvesti į ekraną eilutes, kuriose yra pilnas sutampantis žodis; * -E ieškoti sudėtingų teksto išraiškų (Extended). Ieškomas tekstas gali būti aprašomas įvairiai. Ieškomos išraiškos gali būti ir labai sudėtingos, ir visai paprastos. Dažniausiai naudojamos tokios ieškomo teksto išraiškos: * abc ieško teksto, kur frazė “abc” pasikartoja bet kurioje vietoje; * ^abc ieško eilučių, kurios prasideda “abc”; * abc$ ieško eilučių, kurios baigiasi “abc”; * a..c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiais dviem simboliais (taškai atitinka simbolių skaičių); * a.*c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiu simbolių skaičiumi (taškas-žvaigždutė reiškia nulį ir daugiau simbolių). ---- == Pavyzdžiai == Tarkime, turime tokią tekstinę bylą `poema.txt`: {{{ Mary had a little lamb Mary fried a lot of spam Jack ate a Spam sandwich Jill had a lamb spamwich }}} --- Rasti visas eilutes, kuriose yra žodis `spam` (atsižvelgiant į didžiąsias ir mažąsias raides): {{{ grep ’spam’ poema.txt }}} Gausime: {{{ Mary fried a lot of spam Jill had a lamb spamwich }}} --- Rasti visas eilutes, kuriose yra žodis `spam` (neatsižvelgiant į didžiąsias ir mažąsias raides): {{{ grep -i ’spam’ poema.txt }}} Gausime: {{{ Mary fried a lot of spam Jack ate a Spam sandwich Jill had a lamb spamwich }}} --- Rasti visas eilutes, kuriose yra pilnas žodis `spam`: {{{ grep -w ’spam’ poema.txt }}} Gausime: {{{ Mary fried a lot of spam }}} --- Rasti eilučių skaičių, kuriose yra žodis `spam` (neatsižvelgiant į didžiąsias ir mažąsias raides): {{{ grep -ic ’spam’ poema.txt }}} Gausime: {{{ 3 }}} --- Rasti visas eilutes, kuriose nėra žodžio `spam` (neatsižvelgiant į didžiąsias ir mažąsias raides): {{{ grep -i -v ’spam’ poema.txt }}} Gausime: {{{ Mary had a little lamb }}} --- Rasti visas eilutes, kurios prasideda žodžiu `Mary`: {{{ grep ’^Mary’ poema.txt }}} Gausime: {{{ Mary had a little lamb Mary fried a lot of spam }}} --- Rasti visas eilutes, kurios baigiasi `ich`: {{{ grep ’ich$’ poema.txt }}} Gausime: {{{ Jack ate a Spam sandwich Jill had a lamb spamwich }}} --- Rasti visas eilutes, kuriose yra `had` ir `lamb`, o tarp jų bet koks kiekis simbolių: {{{ grep ’had.*lamb’ poema.txt }}} Gausime: {{{ Mary had a little lamb Jill had a lamb spamwich }}} --- Rasti visas eilutes, kuriose yra žodžiai `Jack` arba `Jill`, arba abu kartu: {{{ grep -E ’Jack|Jill’ poema.txt }}} Gausime: {{{ Jack ate a Spam sandwich Jill had a lamb spamwich }}} --- Išvesti į ekraną visas eilutes ir jų numerius, kuriose yra žodžiai `spam` arba `lamb`, arba abu kartu: {{{ grep -E -n ’spam|lamb’ poema.txt }}} Gausime: {{{ 1:Mary had a little lamb 2:Mary fried a lot of spam 4:Jill had a lamb spamwich }}} --- Išvesti į ekraną visų bylų pavadinimus, kuriose yra žodis `spam`: {{{ grep -l ’spam’ *.* }}} Gausime: {{{ poema.txt }}} --- Detalesnis kitų `grep` komandos funkcijų aprašymas pateiktas Linux dokumentacijoje. Ją galima pasiekti terminale surinkus: {{{ man grep }}} |
Žodis angliškai
Global / Regular Expression Print
Santrumpa
GREP
Žodis Lietuviškai
Globalių - reguliarių išraiškų spausdinimas.
Apibrėžimas
Tai Linux komanda, skirta teksto paieškai bylose.
Paaiškinimai
Dažniausiai komandos grep naudojamos vėliavėlės yra šios:
- -i nepaisyti didžiųjų ir mažųjų raidžių skirtumo;
- -v išvesti į ekraną tik tas eilutes, kuriose nėra ieškomo teksto;
- -c išvesti į ekraną tik sutampančių eilučių skaičių;
- -n išvesti į ekraną eilutės numerį ir su ieškomu tekstu sutampančią eilutę;
- -w išvesti į ekraną eilutes, kuriose yra pilnas sutampantis žodis;
- -E ieškoti sudėtingų teksto išraiškų (Extended).
Ieškomas tekstas gali būti aprašomas įvairiai. Ieškomos išraiškos gali būti ir labai sudėtingos, ir visai paprastos. Dažniausiai naudojamos tokios ieškomo teksto išraiškos:
- abc ieško teksto, kur frazė “abc” pasikartoja bet kurioje vietoje;
- ^abc ieško eilučių, kurios prasideda “abc”;
- abc$ ieško eilučių, kurios baigiasi “abc”;
- a..c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiais dviem simboliais (taškai atitinka simbolių skaičių);
- a.*c ieško eilučių, kuriose “a” ir “c” yra atskirtos bet kokiu simbolių skaičiumi (taškas-žvaigždutė reiškia nulį ir daugiau simbolių).
Pavyzdžiai
Tarkime, turime tokią tekstinę bylą poema.txt:
Mary had a little lamb Mary fried a lot of spam Jack ate a Spam sandwich Jill had a lamb spamwich
---
Rasti visas eilutes, kuriose yra žodis spam (atsižvelgiant į didžiąsias ir mažąsias raides):
grep ’spam’ poema.txt
Gausime:
Mary fried a lot of spam Jill had a lamb spamwich
---
Rasti visas eilutes, kuriose yra žodis spam (neatsižvelgiant į didžiąsias ir mažąsias raides):
grep -i ’spam’ poema.txt
Gausime:
Mary fried a lot of spam Jack ate a Spam sandwich Jill had a lamb spamwich
---
Rasti visas eilutes, kuriose yra pilnas žodis spam:
grep -w ’spam’ poema.txt
Gausime:
Mary fried a lot of spam
---
Rasti eilučių skaičių, kuriose yra žodis spam (neatsižvelgiant į didžiąsias ir mažąsias raides):
grep -ic ’spam’ poema.txt
Gausime:
3
---
Rasti visas eilutes, kuriose nėra žodžio spam (neatsižvelgiant į didžiąsias ir mažąsias raides):
grep -i -v ’spam’ poema.txt
Gausime:
Mary had a little lamb
---
Rasti visas eilutes, kurios prasideda žodžiu Mary:
grep ’^Mary’ poema.txt
Gausime:
Mary had a little lamb Mary fried a lot of spam
---
Rasti visas eilutes, kurios baigiasi ich:
grep ’ich$’ poema.txt
Gausime:
Jack ate a Spam sandwich Jill had a lamb spamwich
---
Rasti visas eilutes, kuriose yra had ir lamb, o tarp jų bet koks kiekis simbolių:
grep ’had.*lamb’ poema.txt
Gausime:
Mary had a little lamb Jill had a lamb spamwich
---
Rasti visas eilutes, kuriose yra žodžiai Jack arba Jill, arba abu kartu:
grep -E ’Jack|Jill’ poema.txt
Gausime:
Jack ate a Spam sandwich Jill had a lamb spamwich
---
Išvesti į ekraną visas eilutes ir jų numerius, kuriose yra žodžiai spam arba lamb, arba abu kartu:
grep -E -n ’spam|lamb’ poema.txt
Gausime:
1:Mary had a little lamb 2:Mary fried a lot of spam 4:Jill had a lamb spamwich
---
Išvesti į ekraną visų bylų pavadinimus, kuriose yra žodis spam:
grep -l ’spam’ *.*
Gausime:
poema.txt
---
Detalesnis kitų grep komandos funkcijų aprašymas pateiktas Linux dokumentacijoje. Ją galima pasiekti terminale surinkus:
man grep
Naudota literatūra