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