Понекад се корисници суочавају са потребом за тражењем одређених информација унутар било које датотеке. Често, конфигурациони документи или други волуметријски подаци садрже велики број линија, тако да је немогуће ручно пронаћи потребне податке. Затим долази до спашавања једне од уграђених наредби за Линук оперативне системе, што ће вам омогућити да пронађете линије у само неколико секунди.
Садржај
Што се тиче разлика између Линук дистрибуција, у овом случају оне не играју никакву улогу, будући да је греп наредба коју сте заинтересирани доступна већином у већини скупова и користи се на исти начин. Данас бисмо желели да разговарамо не само о ефекту греп-а , већ ио главним аргументима који могу значајно поједноставити поступак претраживања.
Погледајте и: Тражите датотеке у Линуку
Све даљње акције ће бити извршене преко стандардне конзоле, а такође ће вам омогућити да отварате датотеке само навођењем пуне путање до њих, или ако се Терминал покрене из потребног директоријума. Можете сазнати надређену фасциклу датотеке и отићи до ње у конзоли као што је овај:
cd /home/user/folder
, где је корисник корисничко име и директоријум је име фасцикле. Користите команду cat + название файла
ако желите да видите комплетан садржај. Детаљна упутства о томе како да радите са тимом можете наћи у нашем другом чланку на линку испод.
Више детаља: Примери Линук команди за мачке
Захваљујући горе наведеним корацима, можете користити греп , који је у правом директоријуму, без навођења пуне путање до датотеке.
Пре него што пређемо на разматрање свих доступних аргумената, важно је уочити уобичајено претраживање по садржају. То ће бити корисно у оним тренуцима када је потребно пронаћи једноставну подударност по вриједности и приказати све релевантне линије.
grep word testfile
, где је реч информација коју тражите и тестфиле је име датотеке. Када вршите претрагу изван фасцикле, наведите пуну путању као у /home/user/folder/filename
. Након уноса наредбе, притисните типку Ентер . grep -i "word" testfile
. Понекад корисници морају да пронађу не само тачно подударање у редовима, већ и да сазнају информације које долазе иза њих, на пример, када пријављују одређену грешку. Тада је исправно решење применити атрибуте. Откуцајте grep -A3 "word" testfile
у конзоли да укључите следећа три реда у резултат након меча. Можете написати -A4
, онда ће четири линије бити заробљене, нема ограничења.
Ако уместо -A
користите аргумент -B + количество строк
, резултат су подаци који су до тачке уноса.
Аргумент -С
, заузврат, хвата линије око кључне речи.
У наставку можете видјети примјере додјеле специфицираних аргумената. Имајте на уму да морате узети у обзир случај и ставити двоструке наводнике.
grep -B3 "word" testfile
grep -C3 "word" testfile
Потреба за дефинисањем кључне речи која се налази на почетку или на крају линије најчешће се јавља током рада са конфигурационим датотекама, где је свака линија одговорна за један параметар. Да бисте на почетку видели тачан унос, потребно је да региструјете grep "^word" testfile
. Знак ^ само је одговоран за употребу ове опције.
Тражење садржаја на крају редака се дешава приближно на исти начин, само у наводницима треба додати $ сигн, а наредба ће изгледати овако: grep "word$" testfile
.
Приликом тражења жељених вредности, корисник нема увек информације о тачној речи присутној у низу. Затим се поступак претраге може обавити преко бројева, што понекад увелике поједностављује задатак. Потребно је само користити наредбу у облику grep "[0-7]" testfile
, гдје је "[0-7]" распон вриједности, а тестфиле је име датотеке коју треба скенирати.
Скенирање свих објеката у истом фолдеру назива се рекурзивно. Корисник мора примијенити само један аргумент, који анализира све датотеке у мапи и приказује одговарајуће линије и њихову локацију. Потребно је да унесете grep -r "word" /home/user/folder
, где је / хоме / усер / фолдер путања до директоријума за скенирање.
Плава ће приказати локацију за складиштење датотека, а ако желите да добијете линије без ове информације, доделите други аргумент да би наредба добила овај grep -h -r "word" + путь к папке
.
На почетку чланка већ смо говорили о уобичајеном претраживању ријечи. Међутим, овом методом у резултатима ће бити приказане додатне комбинације. На пример, пронашли сте реч Корисник , али команда ће такође приказати Корисник 123 , Корисник лозинке и друге утакмице, ако их има. Да бисте избегли овај резултат, доделите аргумент -w
( grep -w "word" + имя файла или его расположение
).
Ова опција се такође извршава када треба да претражите неколико тачних кључних речи одједном. У овом случају, упишите egrep -w 'word1|word2' testifile
. Имајте на уму да се у овом случају слово е додаје у греп , и стављају се појединачни наводници.
Разматрани услужни програм не само да може да пронађе речи у датотекама, већ и да прикаже линије у којима нема корисничке вредности. Затим, пре уноса вредности кључа и фајла, -v
додаје. Захваљујући њој, када активирате команду, видећете само релевантне податке.
Греп синтакса је прикупила још неколико аргумената који се могу кратко објаснити:
-I
- приказ само имена датотека које одговарају критеријима претраге; -s
- онемогући обавештења о пронађеним грешкама; -n
- приказује број линије у датотеци; -b
- приказује број блока прије линије. Ништа вас не спречава да користите више аргумената за један налаз, само их унесите раздвојено размаком, не заборављајући да узмете случај у обзир.
Данас смо детаљно раставили греп команду , доступну у Линук дистрибуцијама. То је један од стандарда и често се користи. О другим популарним алатима и њиховој синтакси можете прочитати у нашем одвојеном материјалу на следећем линку.
Погледајте и: Често коришћене команде у Линук терминалу