Понекогаш корисниците се соочуваат со потреба да бараат одредени информации во рамките на сите датотеки. Често, конфигурациските документи или други волуметриски податоци содржат голем број на линии, па затоа е невозможно рачно да ги пронајдете потребните податоци. Потоа, една од вградените команди на оперативниот систем на Линукс доаѓа до спасување, што ќе ви овозможи да ги пронајдете низите за само неколку секунди.
Користете ја командата grep во Linux.
Што се однесува до разликите помеѓу дистрибуциите на Линукс, во тој случај тие не играат никаква улога, бидејќи командата за која сте заинтересирани grep Стандардно, таа е достапна во повеќето собранија и се применува иста. Денес би сакале да разговараме не само за акцијата grep, но исто така и да ги расклопите главните аргументи кои значително ја поедноставуваат постапката за пребарување.
Видете исто така: Бараме датотеки во Linux
Подготвителна работа
Сите понатамошни активности ќе се извршуваат преку стандардна конзола, исто така ви овозможува да отворате датотеки само со наведување на целосната патека до нив или ако "Терминал" лансиран од потребниот директориум. Можете да ја дознаете матичната папка на датотеката и да отидете на неа во конзолата вака:
- Стартувајте го менаџерот на датотеки и одете до посакуваната папка.
- Десен-клик на саканата датотека и одберете "Properties".
- Во јазичето "Основни" прочитајте ја линијата "Патентна папка".
- Сега работи "Терминал" погоден метод, на пример, преку менито или со притискање на комбинацијата на копчиња Ctrl + Alt + T.
- Еве отидете во директориумот преку командата
cd / home / user / folder
каде корисник - корисничко име, и папка - име на папка.
Вклучете го тимотмачка + име на датотека
ако сакате да ја видите целата содржина. Детални инструкции за тоа како да работите со овој тим може да се најдат во нашата друга статија на линкот подолу.
Прочитајте повеќе: Примери на мачка команда во Linux
Со следење на чекорите погоре, можете да го користите grep, што е во потребниот директориум, без наведување на целосната патека до датотеката.
Стандардна пребарување на содржина
Пред да започнете со разгледување на сите достапни аргументи, важно е да се забележи вообичаеното пребарување по содржина. Ќе биде корисно во тие моменти кога ќе треба да пронајдете едноставен резултат според вредноста и да ги прикажете сите релевантни линии.
- Во командната линија, внесете
grep word testfile
каде збор - потребните информации и testfile - име на датотека. Кога вршите пребарување надвор од папката, наведете ја целосната патека по примерот./ home / user / folder / filename
. По внесувањето на командата, притиснете го копчето Внесете. - Останува само да се запознаат со достапните опции. Целосните линии се прикажуваат на екранот, а клучните вредности се обележани со црвено.
- Важно е да се земе предвид случајот со букви, бидејќи кодирањето на Линукс не е оптимизирано за пребарување без да се земат предвид големи или мали букви. Ако сакате да ја заобиколите дефиницијата за регистар, внесете
grep -i "збор" тест-датотека
. - Како што можете да видите, во следниот скриншот резултатот се промени и уште една нова линија беше додадена.
Пребарување со снимање на стрингови
Понекогаш корисниците треба да најдат не само точно совпаѓање во редовите, туку и да ги дознаат информациите што доаѓаат по нив, на пример кога известуваат за одредена грешка. Тогаш правилното решение е да се применат атрибутите. Внесете во конзолатаgrep -A3 "збор" тест-датотека
да ги вклучи следните три линии во резултатот по натпреварот. Можете да напишете-A4
, тогаш ќе бидат заробени четири линии, нема ограничувања.
Ако наместо тоа-А
ќе го примените аргументот-B + број на линии
, како резултат на тоа, ќе се прикажат податоци до влезната точка.
Аргумент-C
за возврат, фаќа линии околу клучниот збор.
Подолу можете да видите примери за доделување на наведените аргументи. Ве молиме имајте предвид дека е потребно да се земе предвид случајот и да се стави двојни наводници.
grep -B3 "збор" тест-датотека
grep -C3 "збор" тест-датотека
Пребарувај клучни зборови на почетокот и крајот на линии
Потребата да се дефинира клучен збор, кој е на почетокот или на крајот од линијата, најчесто се јавува при работа со конфигурациските датотеки, каде што секоја линија е одговорна за еден параметар. За да го видите точниот запис на почетокот, треба да се регистриратеgrep "^ word" тест-датотека
. Пријави ^ само одговорен за употребата на оваа опција.
Пребарувањето на содржината на крајот од линиите се случува приближно по истиот принцип, само во наводници треба да го додадете карактерот $, а тимот ќе ја добие оваа форма:grep "збор $" тест-датотека
.
Барајте броеви
Кога ги бара саканите вредности, корисникот не секогаш има информации во врска со точниот збор присутен во стрингот. Тогаш процедурата за пребарување може да се направи преку броеви, што понекогаш во голема мера ја поедноставува задачата. Потребно е само да се користи командата во прашање во формаgrep "[0-7]" тест-датотека
каде «[0-7]» - опсег на вредности, и testfile - името на датотеката за скенирање.
Анализа на сите датотеки на директориумот
Скенирањето на сите објекти во истата папка се нарекува рекурзивно. Корисникот треба да примени само еден аргумент, кој ги анализира сите датотеки во папката и ги прикажува соодветните линии и нивната локација. Ќе треба да внесетеgrep -r "збор" / home / user / folder
каде / home / user / folder - патека до директориумот за скенирање.
Местото каде што се чува датотеката ќе биде прикажано во сино, и ако сакате да ги добиете линиите без овие информации, назначете друг аргумент за да ја направите командатаgrep -h -r "збор" + патека на папката
.
Точно пребарување на зборови
На почетокот на статијата веќе разговаравме за вообичаеното пребарување на зборови. Сепак, со овој метод ќе се прикажат дополнителни комбинации во резултатите. На пример, го наоѓате зборот Корисник, но командата исто така ќе прикаже User123, ЛозинкаКориснички и други натпревари, доколку ги има. За да го избегнете овој резултат, назначете аргумент-w
(grep -w "збор" + име на датотека или локација
).
Оваа опција е извршена дури и ако треба да барате неколку точни клучни зборови одеднаш. Во овој случај внесетеegrep -w 'word1 | word2' testifile
. Забележете дека во овој случај да grep се додава писмо e, и цитатите се единствени.
Пребарувајте ги низите без одреден збор
Разгледуваната алатка е во можност не само да најде зборови во датотеките, туку и да прикажува линии во кои не постои кориснички дефинирана вредност. Потоа, пред да ја внесете клучната вредност и додадената датотека-v
. Благодарение на неа, кога ја активирате командата, ќе ги видите само релевантните податоци.
Синтакса grep собраа уште неколку аргументи, на кои може да се разгледа кратко:
-И
- ги прикажува само имињата на датотеки што одговараат на критериумите за пребарување;-с
- Оневозможи известувања за најдените грешки;-n
- го прикажува бројот на линија во датотеката;-б
- го прикажува бројот на блокот пред линијата.
Ништо не ве спречува да аплицирате повеќе аргументи на еден наод, само внесете ги низ просторот, не заборавајте да го земете предвид предвид случајот.
Денес ние детално го расклопивме тимот grepдостапни на Линукс дистрибуции. Тој е еден од стандардните и често користени. Можете да прочитате за други популарни алатки и нивната синтакса во нашиот посебен материјал на следниот линк.
Видете исто така: Често користени команди во Линукс терминал