БАСХ програмирање

Уклањање знакова из низа у Басху

Уклањање знакова из низа у Басху

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

Чланак покрива како се изводи следеће:

Команде приказане у овом чланку изведене су у Убунту 20.04 Фоцал Фосса. Исте наредбе се могу изводити и на другим Линук дистрибуцијама које имају горе наведене алате на располагању. За покретање наредби користићемо подразумевану апликацију Терминал. Апликацији Терминал можете приступити помоћу тастерске пречице Цтрл + Алт + Т.

Уклоните знакове из низа помоћу сед

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

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

Уклоните одређени знак из низа

Користећи сед, можете уклонити одређени знак из низа. На пример, за уклањање „х“ из низа „Здраво, како си?”Наредба би била:

$ ецхо "здраво, како си?"| сед 'с / х //'

Ово ће уклонити само прву појаву 'х' у низу.

Да бисте уклонили све појаве 'х' из низа, користите следећу наредбу:

$ ецхо "здраво, како си?"| сед 'с / х // г'

Где г стоји за глобално. Уклониће све појаве 'х' у низу.

Уклоните први знак из низа

Да бисте уклонили први знак из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| сед 'с / ^.// 'датотека

Где (.) подудара се тачно са једним знаком и (^) се подудара са било којим знаком на почетку низа.

Уклоните последњи знак из низа

Да бисте уклонили последњи знак из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| сед 'с /.$ // '

Где (.) се подудара са тачно једним знаком и ($) се подудара са било којим знаком на крају низа.

Уклоните први и последњи знак из низа

Да бисте уклонили први и последњи знак из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| сед 'с / ^.//; с /.$ // '

Уклоните знакове из низа помоћу авк-а

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

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

Уклоните први знак из низа

Да бисте уклонили први знак из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| авк 'принт субстр ($ 0, 2)'

Где је ($ 0) цео циљни низ, а (2) почетна позиција карактера. Горња команда уклања први знак, 'х,' број знака '1', и враћа циљни низ који почиње другим знаком, 'е.'

Уклоните прва два знака из низа

Такође можете уклонити одређени број знакова са почетка низа. На пример, да бисте уклонили прва два знака из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| авк 'принт субстр ($ 0, 3)'

Горња наредба ће уклонити прва два знака, 'он' или бројеве знакова '1 и 2', и враћа циљни низ који почиње с бројем знакова '3' или 'л.'

Уклоните последњи знак из низа

Да бисте уклонили последњи знак из „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| авк 'принт субстр ($ 0, 1, ленгтх ($ 0) -1)'

Где дужина ($ 0) -1 значи одбити '1'од укупне дужине карактера.

Горња наредба ће исписати низ који почиње бројем знака '1' све до дужина ($ 0) -1 да се скине последњи лик.

Постоје '19знакова '(укључујући размаке) у горњем низу. Команда ће радити исписом свих знакова, почев од знака '1'и до карактера'18,'док уклањам последњи знак'19.'

Уклоните последња два знака из низа

Да бисте уклонили последња два знака из „Здраво, како си?”Наредба би била:

$ ецхо "здраво, како си?"| авк 'принт субстр ($ 0, 1, ленгтх ($ 0) -2)'

Где дужина (0 УСД) -2 значи одбити '2'од укупне дужине карактера.

Горња наредба ће исписати низ који почиње бројем знака '1'и до броја знакова'дужина (0 УСД) -2,'да бисте уклонили последња два знака из низа.

Уклоните и први и последњи знак из низа

Да бисте уклонили и први и последњи знак из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| авк 'принт субстр ($ 0, 2, ленгтх ($ 0) - 2)'

Где дужина (0 УСД) -2 значи одбити '2'од укупне дужине карактера.

Горња наредба ће исписати низ који почиње бројем знака '2'до броја карактера'дужина (0 УСД) -2,'да бисте уклонили први и последњи знак.

Уклони знак из низа помоћу реза

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

У сврху демонстрације користићемо узорак низа, а затим га пребацити у наредбу цут.

Уклоните први знак из низа

Да бисте уклонили први знак из низа, „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| цут -ц 2-

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

Уклоните прва четири знака из низа

Да бисте уклонили прва четири знака из низа „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| цут -ц 5-

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

Испис низа између 2. и 5. знака

За штампање низа „Здраво, како си?” између другог и петог знака, наредба би била:

$ ецхо "здраво, како си?"| исеци -ц 2-5

Ова наредба ће исписати низ, почевши од другог знака па све до петог, док ће уклонити преостале почетне и завршне знакове.

Уклоните последњи знак из низа

Да бисте уклонили последњи знак из низа „Здраво, како си?” користити исећи команда са рев, као што следи:

$ ецхо "здраво, како си?"| рев | цут -ц2- | рев

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

Уклоните последња четири знака из низа

Да бисте уклонили последња четири знака из реда „Здраво, како си?” наредба би била:

$ ецхо "здраво, како си?"| рев | цут -ц5- | рев

Ова наредба ради тако што прво преокрене низ, затим исече прва четири знака, а затим поново преокрене да би се добио жељени излаз.

Уклоните прве и последње знакове из низа

Да бисте уклонили први и последњи знак из низа „Здраво, како си?” користити исећи команда са рев, као што следи:

$ ецхо "здраво свете!"| цут -ц2- | рев | цут -ц2- | рев

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

Уклони знак из низа помоћу тр

Команда тр (скраћеница од транслате) користи се за превођење, истискивање и брисање знакова из низа. Такође можете да користите тр да бисте уклонили знакове из низа.

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

Уклоните све појаве карактера

Коришћењем команде тр из свог низа можете уклонити све појаве малих или великих слова. На пример, да би се из низа уклониле све појаве малог слова 'х', наредба би била:

$ ецхо "Здраво, како си?"| тр -д х

Слично томе, да би се уклониле све појаве великог слова 'Х' из низа, наредба би била:

$ ецхо "Здраво, како си?"| тр -д Х

Такође можете користити интерпретиране секвенце за уклањање малих или великих слова:

$ ецхо "Здраво, како си?"| тр -д [: горњи:]

$ ецхо "Здраво, како си?"| тр -д [: ниже:]

Уклоните све појаве малих и великих слова

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

$ ецхо "Здраво, како си?"| тр -д 'хХ'

Уклоните све појаве знакова у одређеном опсегу

Да бисте уклонили све појаве знакова из низа у одређеном опсегу 'д-х', наредба би била:

$ ецхо "здраво, како си?"| тр -д 'д-х'

Ова наредба ће уклонити све знакове из опсега 'д-х' (д, е, ф, г, х) из низа.

Закључак

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

Инсталирајте најновију ОпенРА Стратеги Гаме на Убунту Линук
ОпенРА је Либре / Фрее Реал Тиме стратешки механизам који ствара ране Вествоод игре попут класичне Цомманд & Цонкуер: Ред Алерт. Дистрибуирани модови ...
Инсталирајте најновији Долпхин Емулатор за Гамецубе & Вии на Линук
Долпхин Емулатор вам омогућава да играте изабране игре Гамецубе и Вии на Линук Персонал Цомпутерс (ПЦ). Долпхин Емулатор је слободно доступан и емула...
Како се користи ГамеЦонкуерор Цхеат Енгине у Линуку
Чланак покрива водич о коришћењу ГамеЦонкуерор варалице у Линуку. Многи корисници који играју игре на Виндовс-у често користе апликацију „Цхеат Енгине...