греп

Како да занемарим празне редове у Грепу?

Како да занемарим празне редове у Грепу?
Греп се залаже за Глобално штампање регуларног израза. Има много функционалности, тј.е., претрага датотеке, претрага само имена датотеке, греп рекурзивно итд. Греп се сматра моћном командом у сектору претраживања. У многим случајевима суочавамо се са ситуацијама када нам не требају размаци или постоји потреба за уклањањем нежељених празнина у нашим подацима. Један од најзанимљивијих начина употребе грепа је игнорисање или уклањање празних редова из текстуалне датотеке. Овај поступак се постиже кроз различите примере. То је операција уређивања датотека. Да бисмо се подвргли овој сврси, морамо да имамо постојеће датотеке у нашем систему. Кроз наредбу греп омогућавамо јој да штампа податке без празних редова.

Синтакса

Греп [образац] [име датотеке]

Након употребе греп-а, долази образац. Узорак подразумева начин на који га желимо користити за уклањање сувишног простора у подацима. Следећи образац, описано је име датотеке кроз коју се образац изводи.

Предуслов

Да бисмо лако разумели корисност греп-а, на нашем систему мора бити инсталиран Убунту. Наведите корисничке детаље давањем корисничког имена и лозинке да бисте имали привилегије у приступу апликацијама Линука. Након пријављивања отворите апликацију и потражите терминал или примените пречицу цтрл + алт + Т.

Коришћењем кључне речи [: бланк:]

Претпоставимо да имамо датотеку под називом бфиле која има текстуалну екстензију. Датотеку можете направити у уређивачу текста или помоћу командне линије у терминалу. Да бисте креирали датотеку на терминалу, укључујући следеће наредбе.

$ Ецхо „текст који треба унети у датотеку“> име датотеке.ткт

Нема потребе да креирате датотеку ако је она већ присутна. Само га прикажите помоћу додате команде:

$ ецхо име датотеке.ткт

Текст написан у овим датотекама садржи размаке између њих, као што се види на доњој слици.

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

$ егреп '^ [[: празно]] * [^ [: празно:] #]' бфиле.ткт

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

Коришћењем [: спаце:]

Овде је објашњен још један пример занемаривања простора.

Без помињања екстензије датотеке, прво ћемо приказати постојећу датотеку помоћу команде.

$ цат датотека20

Погледајмо како се уклања додатни простор помоћу греп наредбе поред кључне речи [: спаце:]. Грепова опција -в помоћи ће штампању редова којима недостају празни редови и додатни размак који је такође укључен у образац пасуса.

$ греп -в '^ [[; размак:]] * $' датотека20

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

Помињање екстензија датотека ограничава греп функцију да се изводи само на одређеним екстензијама датотека, тј.е., .текст или .мп3. Док изводимо поравнање текстуалне датотеке, узећемо филег.ткт као пример датотеке. Прво ћемо приказати текст који је присутан у њему помоћу функције $ цат. Излаз је следећи:

Применом наредбе добијена је наша излазна датотека. Овде можемо видети податке без размака између редова који су узастопно написани.

$ греп -в '^ [[: размак:]] * $' датотекаг.ткт

Поред дугих наредби, можемо користити и кратке написане наредбе у Линуку и Унику како бисмо у њих имплементирали греп који подржава скраћене знакове.

$ греп '\ с' назив датотеке.ткт

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

$ греп '\ С' назив датотеке.ткт> тмп.ткт && мв тмп.ткт име датотеке.ткт

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

Употребом ^ #

Баш као и други описани примери, ми ћемо наредбу применити на текстуалну датотеку помоћу наредбе цат. Текст можемо приказати и помоћу команде ецхо.

$ ецхо име датотеке.ткт

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

$ греп -Ев "^ # | ^ $" име датотеке

Редовне проширене операције омогућавају -Е, што омогућава све регуларне изразе, посебно пипе. Цев се користи као опционални услов „или“ у било ком узорку.”^ #”. Ово показује подударање линија текста у датотеци која почиње знаком #. „^ $“ Ће се подударати са свим празним размацима у тексту или празним редовима.

Излаз приказује потпуно уклањање сувишног простора између линија присутних у датотеци података. У овом примеру смо видели да је у наредби „^ #“ на првом месту, што значи да се прво подудара текст. „^ $“ Долази после | оператора, тако да се слободни простор накнадно подудара.

Употребом ^ $

Баш као и горе поменути пример, доћи ћемо са истим резултатима, јер је наредба готово иста. Међутим, образац је написан супротно. Филе22.ткт је датотека коју ћемо користити за уклањање размака.

$ греп -в '^ $ | ^ #' назив датотеке

Примењује се иста методологија, осим рада са приоритетом. Према овој наредби, прво ће се подударати слободни простори, а затим се подударају текстуалне датотеке. Излаз ће пружити низ линија уклањањем додатних празнина у њима.

Остале једноставне команде

Обоје су тако једноставни и помажу у уклањању празнина у редовима текста.

Закључак

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

Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...
Инсталирајте најновију ОпенРА Стратеги Гаме на Убунту Линук
ОпенРА је Либре / Фрее Реал Тиме стратешки механизам који ствара ране Вествоод игре попут класичне Цомманд & Цонкуер: Ред Алерт. Дистрибуирани модови ...