Како користити команду Греп у Линуку

Разумевање команде греп са практичним примерима за лако филтрирање и приказ садржаја датотеке

ГРЕП означава „Глобал Регулар Екпрессион Принт“. То је користан услужни програм командне линије који обезбеђује Линук, за тражење текстуалне линије која одговара шаблону који је дао корисник.

греп узима унос од корисника у облику низова или речи које корисник жели да претражи у одређеној датотеци. Команда затим проверава датотеку коју је корисник навео за овај образац, а затим враћа линије које одговарају датом шаблону.

Одлично ради тако што филтрира садржај датотеке и на тај начин олакшава наш задатак да тражимо одређени садржај на једној или више датотека истовремено.

У овом чланку ћемо размотрити функционисање греп команду са неким практичним примерима детаљно.

Доступне опције са греп команда

Ово су неке од основних опција које ћете често користити са греп команда.

ОпцијаОпис
За претрагу без обзира на велика и мала слова
Да рекурзивно претражите све датотеке у наведеном директоријуму и његовим поддиректоријумима
За приказ укупног броја појављивања низа
За приказ неподударних линија
Филтер за ту одређену реч која се користи засебно

Помоћу греп команда

греп команда се обично користи са цеви (|) корисност. Може се имплементирати са схелл пипе-ом када желите да га користите са неким другим Линук командама. иако, греп може се користити и појединачно без цеви (|) корисност.

Хајде да погледамо неке од основних синтакса греп команду са и без услужног програма цеви.

Дозволите ми да вам прво покажем пример текстуалне датотеке коју ћу користити да илуструјем греп команда.

ИНДИЈА ЈЕ ПРЕЛЕПА ЗЕМЉА ЉУДИ КОЈИ ВОЛЕ МИР. Индија стоји на три стуба законодавне, извршне и судске власти. Индија је прелепа земља људи који воле мир. Индија брине о људима јер њен ресурс картезијанске координате координира важност свих картезијанских координата. Следе два празна реда. употреба воловских запрега је уобичајена појава у селу за аграрне послове. Ово је крај датотеке узорка.

греп користи се са цеви ( | )корисност

греп команда се може имплементирати заједно са другим Линук командама помоћу схелл цеви. Као, користећи мачка команду за приказ садржаја датотеке, али истовремено слање излаза помоћу греп команду да прикажете само садржај који желите да видите. Ово ће бити јасније када прођемо кроз пример.

Синтакса:

[команда] | греп [стринг]

Пример:

мачка сампле.ткт | греп законодавство

Ево, користио сам мачка команду за приказ неких редова из датотеке „сампле.ткт“. Приказују се само они редови који у себи садрже реч „законодавство“, а занемарују се остали редови.

Излаз:

гаурав@убунту:~/воркспаце$ цат сампле.ткт | греп законодавна власт индија стоји на три стуба законодавне, извршне и судске власти. гаурав@убунту:~/воркспаце$

греп користи се без цеви ( | )корисност

греп може се чак користити директно као појединачна команда без коришћења цеви ( | ) корисност.

Синтакса:

греп [стринг_то_бе_сеарцхед] [филенаме]

Пример:

греп Индиа сампле.ткт

Излаз:

Индија је прелепа земља људи који воле мир. Индија брине о људима као о свом ресурсу

Стога сам користио греп наредба директно да филтрира редове који садрже стринг „Индија“ из текстуалне датотеке „сампле.ткт“.

Претраживање без обзира на велика и мала слова греп команда

Линук је веома опрезан у погледу осетљивости на велика и мала слова када покрећемо команде на терминалу. Ово захтева од корисника да буде опрезан у вези са великим словима стринга који се ставља у команду.

Хајде да то видимо кроз пример.

греп мир сампле.ткт

У овом случају, нећемо добити излаз јер не постоји реч „мир“ у датотеци узорка. Имамо реч „Мир“ са великим „П“. Реч је иста, али када користимо греп наредба без икакве опције, тражи тачно подударање у датотеци, не обазирући се на било какве промене у великим словима.

Да бисте избегли ову двосмисленост, једноставно можете користити опција која буквално говори о греп команда „Заборавите на случај у који сам ставио стринг и само потражите све одговарајуће обрасце у датотеци.“

Синтакса:

греп -и [стринг] [име датотеке]

Пример:

греп -и мир сампле.ткт

Излаз:

ИНДИЈА ЈЕ ПРЕЛЕПА ЗЕМЉА ЉУДИ КОЈИ ВОЛЕ МИР. Индија је прелепа земља људи који воле мир.

Приказују се све одговарајуће линије без обзира на случај у којем се налази одговарајући низ.

Рекурзивно претраживање користећи греп команда

Тхе опција ће тражити све датотеке у директоријуму и свим његовим поддиректоријумима који се поклапају са шаблоном стринга који је дао корисник у команди.

Синтакса:

греп -и -р [стринг] [путања_датотеке]

Пример:

греп -и -р томцат /хоме/гаурав/воркспаце

Стринг овде је „томцат“ и биће претраживан у радном простору директоријума. Сви поддиректоријуми и датотеке у директоријуму „радни простор“ ће такође бити скенирани да би се поклапали са датим шаблоном низова.

Излаз:

./цонтект_лог.полици:// цаталина.полици – Дозволе безбедносне политике за Томцат 7 ./цонтект_лог.полици:// Напомена: Ако је томцат-јули.јар у ${цаталина.басе}, а не у ${цаталина.хоме }, ./цонтект_лог.полици:// грант цодеБасе "филе:${цаталина.басе}/бин/томцат-јули.јар" {..} ./цонтект_лог.полици:грант цодеБасе "филе:${цаталина.хоме }/бин/томцат-јули.јар" { ./цонтект_лог.полици: дозвола јава.ланг.РунтимеПермиссион "аццессЦлассИнПацкаге.орг.апацхе.томцат.вебсоцкет.сервер"; ./цонтект.кмл: ./цаталина.пропертиес:# - Томцат Боотстрап ЈАР-ови ./цаталина.пропертиес:# - Томцат АПИ ЈАР-ови ./цаталина.пропертиес:# - Томцат ЈАР-ови ./цаталина.пропертиес:# - Уобичајени не-Томцат-ови ЈАР-ови ./цаталина.пропертиес:орг.апацхе.цаталина.стартуп.ТлдЦонфиг.јарсТоСкип=томцат7-вебсоцкет.јар ./цаталина.пропертиес:томцат.утил.буф.СтрингЦацхе.бите.енаблед=труе ./цаталина:#.пропертиес ./цаталина.пропертиес. томцат.утил.буф.СтрингЦацхе.цхар.енаблед=труе ./цаталина.пропертиес:#томцат.утил.буф.СтрингЦацхе.траинТхресхолд=500000 ./цаталина.пропертиес:#томцат.утил.буф.СтрингЦацхе=5.цацхе0Сизе. /сервер.кмл: патхнаме="цонф/томцат-усерс.кмл" /> ./сервер.кмл: 

БЕЛЕШКА: Док користите опција са греп команду треба да обезбедимо путању датотеке, а не име датотеке

Претраживање целих речи само са греп команда

Много пута је случај да ћете тражити једну реч, али ћете на крају попунити свој терминал одговарајућим линијама које садрже вашу одговарајућу реч, али не као појединачну реч. Можда ћете видети редове који садрже неке речи чији је поддео стринг који сте унели.

Збуњен са овим? Не брините, много је лакше разумети када добијете пример.

Пример:

Овде желим да претражим појединачну реч „колица“ и да прикажем све линије које одговарају овој речи у датотеци „сампле.ткт“.

греп -и царт сампле.ткт

Излаз:

Важност картезијанских координата свих картезијанских координата. употреба воловских запрега је уобичајена појава у селу за аграрне послове. Кола су нестала када их је дечак оставио.

У излазу можете приметити да реч „картезијански“ такође садржи реч „колица“ и стога су линије које садрже реч „картезијански“ такође приказане иако не желимо да буду приказане.

Можете користити опција са греп заповести да се ова нејасноћа реши.

Синтакса:

греп -и -в [стринг] [име датотеке]

Пример:

греп -и -в корпа сампле.ткт

Излаз:

употреба воловских запрега је уобичајена појава у селу за аграрне послове. Колица су нестала када их је дечак оставио лабав. 

Сада, када сте користили -в опција са греп добићете само редове у којима се реч „колица“ користи као целина.

Обрнуто претраживање помоћу греп команда

греп команда се такође може користити на обрнути начин. Можемо користити греп командујте супротно тако што ћете сакрити одговарајуће линије и приказати само линије у којима није пронађено подударање. То можете учинити помоћу опција са греп команда.

Синтакса:

греп -и -в [стринг] [име датотеке]

Пример:

греп -и -в ресурс сампле.ткт

Излаз:

ИНДИЈА ЈЕ ПРЕЛЕПА ЗЕМЉА ЉУДИ КОЈИ ВОЛЕ МИР. Индија стоји на три стуба законодавне, извршне и судске власти. Индија је прелепа земља људи који воле мир. картезијанске координате важност свих тх картезијанских координата. употреба воловских запрега је уобичајена појава у селу за аграрне послове. Ово је крај датотеке узорка.

У излазу се приказују сви остали редови осим реда који садржи реч „ресурс“.

Бројање појављивања подударног низа

Излаз из греп команда је обично веома дуга ако су подаци у датотеци обимни. Што је више шибица, дужи су резултати греп команда. Линук вам пружа опцију где можете приказати број појављивања подударања.

Синтакса:

греп -и -ц [стринг] [име датотеке]

Пример:

греп -и -ц индија сампле.ткт

Излаз:

гаурав@убунту:~/воркспаце$ греп -и -ц индиа сампле.ткт 4 гаурав@убунту:~/воркспаце$

Овде је излаз број који је број појављивања речи „Индија“ у датотеци сампле.ткт.

БЕЛЕШКА: Користио сам опција у сваком примеру само да будете сигурни са осетљивошћу великих и малих слова. У случају да сте сигурни у велика и мала слова речи коју тражите, можете безбедно да изоставитеопција.

Закључак

Научили смо основне употребе греп команду на Линук системима у овом водичу. Такође смо научили да приказујемо различит садржај који најбоље одговара нашим захтевима и да не претрпамо терминал гомилом редова. греп команда ће сигурно уштедети време ако се користи за скенирање великих скупова података.