Авк

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

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

Пример 1: Испис опсега колона из излаза наредбе

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

$ лс -л | авк 'принт $ 2, $ 3, $ 4'

Наредна наредба даје следећи излаз.

Пример 2: Штампајте опсег колона из датотеке помоћу а за петља

Да бисте наставили са овим примером и осталим примерима у овом упутству, креирајте текстуалну датотеку са именом оцене.ткт са следећим садржајем:

ИД ЦСЕ203 ЦСЕ102 ЦСЕ202
1109 78 87 79
1167 67 81 70
1190 56 61 69
1156 89 55 78
199 54 66 58

Следећа команда 'авк' исписаће прве три колоне ознака.ткт. Тхе за Петља се користи за испис вредности колоне, а петља укључује три корака. Тхе НФ променљива означава укупан број поља или колона датотеке.

$ мачјих марака.ткт
$ авк 'фор (и = 1; и<=NF-1;i++) printf $i" "; print ""' marks.txt

Покретањем наредбе произвест ће се сљедећи излаз. Резултат приказује ученика Личне карте и ознаке за ЦСЕ203 и ЦСЕ102.

Пример 3: Штампање опсега колона дефинисањем почетне и завршне променљиве

Сљедећа наредба 'авк' исписат ће прве три колоне из излаза наредбе 'лс -л' иницијализацијом полазећи и завршавајући се Променљиве. Овде је вредност полазећи променљива је 1, а вредност завршавајући се променљива је 3. Ове променљиве се понављају у петљи фор да би се исписале вредности колона.

$ лс -л | авк 'БЕГИН први = 1; задњи = 3
фор (и = прво; и < last; i++) printf("%s ", $i) print $last '

Следећи излаз ће се појавити након покретања наредбе. Излаз приказује вредности прве три колоне излаза, 'лс -л'.

Пример 4: Одштампајте низ колона из датотеке са форматирањем

Следећа команда 'авк' исписаће прве три колоне оцене.ткт Користећи принтф и сепаратор излазног поља (ОФС). Петља фор укључује овде три корака и три колоне ће се одштампати у низу из датотеке. ОФС овде се користи за додавање размака између колона. Када је бројач петље (и) једнак завршавајући се променљива, тада се генерише нова линија (\ н).

$ мачјих марака.ткт
$ авк -в старт = 1 -в енд = 3 'фор (и = старт; и<=end;i++) printf("%s%s",
$ и, (и == крај) ? "\ н": ОФС) 'ознаке.ткт

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

Пример 5: Штампање опсега колона из датотеке помоћу условног израза

Следећа команда 'авк' ће исписати прву и последњу колону из датотеке помоћу петље фор и наредбе иф. Овде петља фор укључује четири корака. Тхе полазећи и завршавајући се променљиве се користе у скрипти за изостављање друге и треће колоне из датотеке помоћу услова иф. ОФС променљива се користи за додавање размака између колона, а ОРС променљива за додавање новог реда (\ н) након штампања последње колоне.

$ мачјих марака.ткт
$ авк -в почетак = 2 -в крај = 3 'за (и = 1; и<=NF;i++)
иф (и> = старт && и<=end) continue;
елсе принтф ("% с% с", $ и, (и!= НФ) ? ОФС: ОРС) 'ознаке.ткт

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

Пример 6: Штампајте опсег ступаца из датотеке помоћу НФ променљиве

Следећа команда 'авк' ће исписати прву и последњу колону из датотеке помоћу НФ променљиве. За испис вредности колоне не користе се петље или условни изрази. НФ означава број поља. У ознакама су четири колоне.ткт. $ (НФ-3) дефинише прву колону, а $ НФ означава последњу колону.

$ мачјих марака.ткт
ознаке $ авк 'принт $ (НФ-3) "" $ НФ'.ткт

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

Пример 7: Штампање опсега колона из датотеке помоћу субстр () и индек ()

Функција индек () враћа позицију ако у првом аргументу постоји вредност другог аргумента. Функција субстр () може имати три аргумента. Први аргумент је вредност низа, други аргумент је почетна позиција, а трећи аргумент дужина. Трећи аргумент субстр () изостављен је у следећој наредби. Будући да колона започиње са $ 1 у наредби 'авк', функција индек () ће вратити $ 3, а наредба ће исписати са $ 3 на $ 4.

$ мачјих марака.ткт
$ авк 'принт субстр ($ 0, индек ($ 0, $ 3))' ознаке.ткт

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

Пример 8: Секвенцијално одштампајте низ колона из датотеке помоћу принтф

Следећа команда 'авк' исписаће прву, другу и трећу колону ознака.ткт постављањем довољно простора за 10 знакова.

$ мачјих марака.ткт
$ авк '// принтф "% 10с% 10с% 10с \ н", $ 1, $ 3, $ 2' ознаке.ткт

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

Закључак

Постоје различити начини за испис опсега колона из излаза наредбе или датотеке. Овај водич показује како наредба „авк“ може помоћи Линук корисницима да штампају садржај из табеларних података.

Додајте покрете миша у Виндовс 10 помоћу ових бесплатних алата
Последњих година рачунари и оперативни системи су се увелико развили. Било је време када су корисници морали да користе команде за навигацију кроз мен...
Контролишите и управљајте кретањем миша између више монитора у оперативном систему Виндовс 10
Двоструки приказ миша омогућава вам контролу и конфигурисање кретања миша између више монитора, успоравајући његово кретање близу границе. Виндовс 10/...
ВинМоусе вам омогућава да прилагодите и побољшате кретање показивача миша на Виндовс рачунару
Ако желите да побољшате подразумеване функције показивача миша, користите бесплатни програм ВинМоусе. Додаје још функција које ће вам помоћи да на нај...