У овом чланку ћемо објаснити употребу греп услужног програма са различитим примерима. Дебиан 10 ћемо користити за објашњавање наредби и метода споменутих у овом чланку.
Инсталирање Греп-а
Греп се инсталира у већини Линук дистрибуција. Међутим, у случају да недостаје у вашем систему, можете га инсталирати на следећи начин у терминалу:
$ судо апт-гет инсталл грепКористећи Греп
Ево основне синтаксе наредбе греп. Почиње греп-ом, праћеним неким опцијама и критеријумима претраживања, а затим се завршава именом датотеке.
$ греп [опције] УЗОРАК [ФИЛЕ…]Потражите датотеке
Да бисте тражили име датотеке у директоријуму који у себи садржи одређени низ, греп можете користити на следећи начин:
$ лс -л | греп -и “низНа пример, да бисте тражили назив датотеке који садржи низ „тест“, Наредба би била:
$ лс -л | греп -и тестОва наредба наводи све датотеке које садрже низ „тест”.
Потражите низ у датотеци
Да бисте потражили низ у одређеној датотеци, можете користити следећу синтаксу наредбе:
$ греп име датотекеНа пример, да бисте тражили низ „тест”У датотеци са именом тестфиле1, користили смо следећу наредбу:
$ греп тест датотека запосленог1
Горњи излаз вратио је реченицу из тестфиле1 који садржи низ „запослени”.
Потражите низ у више датотека
Да бисте тражили низ у више датотека, можете користити следећу синтаксу наредбе:
$ греп „стринг“ име датотеке1 име датотеке2На пример, за тражење низа „запослени“ у наше две датотеке тестфиле1 и тестфиле2, користили смо следећу наредбу:
$ греп „запослени“ тестфиле1 тестфиле2
Горња наредба ће навести све редове који садрже низ „запослени“ из датотека тестфиле1 и тестфиле2.
Можете користити и џокер знак ако сва имена датотека почињу истим текстом.
$ греп “стринг” назив датотеке *Као, ако узмемо горњи пример у којем су била наша имена датотека тестфиле1 и тестфиле2 , наредба би била:
$ греп тест датотека запосленог *
Потражите низ у датотеци занемарујући случај низа
Најчешће сте се сусретали с тим када нешто тражите помоћу греп-а, али не добијате излаз. То се догађа због неусклађености великих и малих слова током тражења низа. Као у нашем примеру, ако грешком користимо „Запослени" уместо "запослени”, Вратиће нил јер наша датотека садржи низ„запослени”Малим словима.
Можете рећи грепу да игнорише случај низа претраживања користећи -и заставицу иза грепа на следећи начин:
$ греп -и назив датотеке „стринг“
Коришћењем заставице -и, команда ће извршити претрагу без великих и малих слова и вратиће све редове који садрже низ „запослени”У њему без узимања у обзир слова су велика или мала.
Претражујте помоћу регуларног израза
Ако се правилно користи, регуларни израз је врло ефикасна карактеристика у греп-у. Помоћу команде Греп можете дефинисати регуларни израз са почетном и завршном кључном речи. На тај начин неће вам бити потребно да откуцате целу линију помоћу греп наредбе. У ту сврху се може користити следећа синтакса.
$ греп “почетна кључна реч.* ендКеиворд ”назив датотекеНа пример, за тражење линије у датотеци названој тестфиле1 која започиње низом "тхис" и завршава се низом "дата", користили смо следећу наредбу:
$ греп „ово.* подаци ”тестфиле1
Штампаће целу линију из тестфиле1 који садржи израз (почетна кључна реч „ово“ и завршна кључна реч „подаци“).
Одштампајте одређени број редова после / пре низа за претрагу
Такође можете приказати одређени број редова у датотеци пре / након подударања низа заједно са самим подударним низом. У ову сврху се може користити следећа синтакса:
$ греп -АПриказаће Н број редова након што се низ подудара у наведеној датотеци, укључујући подударни низ.
На пример, ово је наша датотека са узорком тестфиле2.
Следећа команда ће извести подударну линију која садржи низ „запослени”, Заједно са 2 реда након њега.
$ греп -А 2 -и тест датотека „запосленог “2
Слично томе, за приказ Н броја редова пре подударног низа у одређеној датотеци, користите следећу синтаксу:
$ греп -БДа бисте приказали Н броја редова око низа у одређеној датотеци, користите следећу синтаксу:
$ греп -ЦИстицање претраге
Греп по подразумеваној вредности исписује подударне линије, али не приказује којем се делу линије подудара. Ако користите опцију -цолор са греп, она ће показати где се обрадни низови појављују у вашој датотеци. Греп подразумевано користи црвену боју за истицање.
У ову сврху се може користити следећа синтакса:
$ греп „стринг“ назив датотеке --цолор
Бројање броја поклапања
Ако желите да избројите колико се пута одређена реч појављује у одређеној датотеци, можете да користите греп са -ц опцијом. Враћа само број утакмица, а не саме утакмице. У ову сврху се може користити следећа синтакса:
$ греп -ц назив датотеке „стринг“Ово је наша огледна датотека која изгледа овако:
Следи пример наредбе која је вратила број речи датотека појавио се у датотеци под називом тестфиле3.
Обрнута претрага
Понекад желите да извршите обрнуто претраживање које приказује све редове, осим оних који одговарају уносу. Да бисте то урадили, једноставно користите заставицу -в праћену греп:
$ греп -в назив датотеке „стринг“На пример, за приказ свих линија у датотеци тестфиле3 који у себи не садрже реч „рачун“, користили смо следећу команду:
$ греп -в тестфиле3 „аццоунт “3
Коришћење Грепа са другим командама
Греп се такође може користити за филтрирање потребног резултата из различитих излаза наредби. На пример, из „апт -инсталирана листа ” Излаз наредбе, желите пронаћи само пакете који су аутоматски инсталирани, резултат можете филтрирати помоћу греп-а на следећи начин:
$ апт --инсталирана листа | греп аутоматски
Слично томе, лсцпу пружа детаљне информације о ЦПУ. Ако вас само занимају информације у вези са архитектуром ЦПУ-а, можете их филтрирати помоћу следеће наредбе:
$ лсцпу | греп Архитектура
У овом чланку смо описали неке примере који ће вам помоћи да разумете греп наредбе и њихову употребу у различитим условима. Снажно држање греп команде може вам уштедети пуно времена ако требате погледати велике датотеке конфигурације или евиденције и прегледати корисне информације кроз њих.