Авк

Како рашчланити датотеку раздвојену картицама помоћу „авк“

Како рашчланити датотеку раздвојену картицама помоћу „авк“

„таб“ се користи као сепаратор у датотеци раздвојеној картицама. Ова врста текстуалне датотеке креирана је за чување различитих врста текстуалних података у структурираном формату.  У Линуку постоје различити типови наредби за рашчлањивање ове врсте датотека.  Наредба 'авк' је један од начина рашчлањивања датотеке раздвојене картицама на различите начине. Употреба наредбе 'авк' за читање датотеке раздвојене картицама приказана је у овом упутству.

Направите датотеку раздвојену картицама:

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

корисника.ткт

Име Е-маил Корисничко име Лозинка
Доктор медицине. Робин [заштићена е-поштом] робин89 563425
Нила Хасан [заштићена е-поштом] нила78 245667
Мирза Аббас [заштићена е-пошта] мирза23 534788
Аорноб Хасан [заштићен е-поштом] арноб45 778473
Нухас Ахсан [заштићена е-поштом] нухас34 563452

Пример-1: Одштампајте другу колону датотеке раздвојене картицама помоћу опције -Ф

Следећа команда 'сед' исписаће другу колону текстуалне датотеке раздвојене табулаторима. Ево, '-Ф' опција се користи за дефинисање сепаратора поља датотеке.

$ цат корисници.ткт
$ авк -Ф '\ т' 'принт $ 2' корисници.ткт

Следећи излаз ће се појавити након покретања наредби. Друга колона датотеке садржи корисникове адресе е-поште које се приказују као излаз.

Пример-2: Одштампајте прву колону датотеке раздвојене картицама помоћу ФС променљиве

Следећа команда 'сед' исписаће прву колону текстуалне датотеке раздвојене табулаторима. Ево, ФС Променљива (Фиелд Сепаратор) се користи за дефинисање сепаратора поља датотеке.

$ цат корисници.ткт
$ авк 'принт $ 1' ФС = '\ т' корисници.ткт

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

Пример-3: Одштампајте трећу колону датотеке раздвојене картицама обликовањем

Следећа команда 'сед' исписаће трећу колону текстуалне датотеке раздвојене картицама са форматирањем помоћу ФС променљива и принтф. Ево, ФС променљива се користи за дефинисање сепаратора поља датотеке.

$ цат корисници.ткт
$ авк 'БЕГИН ФС = "\ т" принтф "% 10с \ н", $ 3' корисника.ткт

Следећи излаз ће се појавити након покретања наредби. Трећа колона датотеке садржи корисничко име које је овде одштампано.

Пример-4: Одштампајте трећу и четврту колону датотеке раздвојене картицама помоћу ОФС-а

ОФС (Излазни сепаратор поља) користи се за додавање сепаратора поља у излаз. Следећа команда 'авк' поделиће садржај датотеке на основу сепаратора таб (\ т) и одштампати 3. и 4. колону користећи таб (\ т) као сепаратор.

$ цат корисници.ткт
$ авк -Ф "\ т" 'ОФС = "\ т" принт $ 3, $ 4> ("оутпут.ткт ") 'корисника.ткт
$ мачка излаз.ткт

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

Пример 5: Замените одређени садржај датотеке раздвојене картицама

суб () функција се користи у 'авк за наредбу замене. Следећа команда 'авк' претражиће број 45 и замениће га бројем 90 ако број за претрагу постоји у датотеци. Након замене, садржај датотеке ће се сачувати у излазу.ткт датотеку.

$ цат корисници.ткт
$ авк -Ф "\ т" 'суб (/ 45 /, 90); принт' корисника.ткт> оутпут.ткт
$ мачка излаз.ткт

Следећи излаз ће се појавити након покретања горе наведених наредби. Излаз.ткт датотека приказује измењени садржај након примене замене. Овде се садржај 5. реда изменио, а „арноб45“ је промењен у „арноб90“.

Пример 6: Додајте низ на почетак сваког ретка датотеке раздвојене картицама

У наставку, команда 'авк', опција '-Ф' користи се за поделу садржаја датотеке на основу картице (\ т). ОФС је користио за додавање зареза (,) као сепаратора поља у излазу. функција суб () се користи за додавање низа '- →' на почетак сваког реда излаза.

$ цат корисници.ткт
$ авк -Ф "\ т" 'ОФС = ","; суб (/ ^ /, "---->"); одштампајте $ 1, $ 2, $ 3' корисника.ткт

Следећи излаз ће се појавити након покретања горе наведених наредби. Свака вредност поља одвојена је зарезом (,), а низ се додаје на почетак сваког реда.

Пример 7: Замените вредност датотеке раздвојене картицама употребом функције гсуб ()

Функција гсуб () се користи у команди 'авк' за глобалну замену. Све стринг вредности датотеке ће заменити тамо где се образац претраживања поклапа. Главна разлика између функција суб () и гсуб () је у томе што функција суб () зауставља задатак замене након проналаска првог подударања, а функција гсуб () претражује образац на крају датотеке ради замене. Следећа команда „авк“ претражиће реч „нила“ и „Мира“ глобално у датотеци и замениће све појаве текстом „Неважеће име“, где се подудара реч за претрагу.

$ цат корисници.ткт
$ авк -Ф '\ т' 'гсуб (/ нила | Мира /, "Неисправно име"); принт 'корисника.ткт

Следећи излаз ће се појавити након покретања горе наведених наредби. Реч „нила“ постоји два пута у 3. реду датотеке која је у излазу замењена речју „Неисправно име“.

Пример-8: Штампање форматираног садржаја из датотеке раздвојене картицама

Следећа команда 'авк' ће исписати прву и другу колону датотеке са форматирањем помоћу принтф. Излаз ће приказати име корисника додавањем адресе е-поште у заграде.

$ цат корисници.ткт
$ авк -Ф '\ т' 'принтф "% с (% с) \ н", $ 1, $ 2' корисника.ткт

Следећи излаз ће се појавити након покретања горе наведених наредби.

Закључак

Било која датотека раздвојена картицама може се лако рашчланити и одштампати помоћу другог граничника помоћу команде 'авк'. Начини рашчлањивања датотека раздвојених картицама и штампања у различитим форматима приказани су у овом упутству на више примера. Употреба функција суб () и гсуб () у наредби 'авк' за замену садржаја датотеке раздвојене картицама такође је објашњена у овом упутству. Надам се да ће овај водич помоћи читаоцима да лако рашчлане датотеку раздвојену картицама након што правилно увежбају примере овог водича.

Водич за ОпенТТД
ОпенТТД је једна од најпопуларнијих игара за пословну симулацију. У овој игри морате створити диван посао превоза. Међутим, почет ћете у почетку око 1...
СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...