Док откривамо одељак Авк карактеристике, у овом делу серије проћи ћемо кроз концепт уграђених променљивих у Авк-у. Постоје две врсте променљивих које можете користити у Авку, то су; кориснички дефинисане променљиве, које смо покрили 8. део и уграђен Променљиве.
Уграђено променљиве имају вредности већ дефинисане у Авк, али такође можемо пажљиво променити те вредности, уграђене променљиве укључују:
НАЗИВ ДОКУМЕНТА
: назив тренутне улазне датотеке (не мењајте назив променљиве)ФР
: број тренутног улазног реда (то је улазни ред 1, 2, 3... тако даље, не мењајте назив променљиве)НФ
: број поља у тренутној линији уноса (не мењајте назив променљиве)ОФС
: сепаратор излазног пољаФС
: сепаратор улазних пољаОРС
: сепаратор излазних записаРС
: сепаратор улазних записаНаставимо са илустрацијом употребе неких од горе наведених уграђених променљивих Авк:
Да бисте прочитали назив датотеке тренутне улазне датотеке, можете користити НАЗИВ ДОКУМЕНТА
уграђена променљива на следећи начин:
$ авк '{принт ФИЛЕНАМЕ}' ~/домаинс.ткт
Схватит ћете да се назив датотеке исписује за сваку линију уноса, што је задано понашање Авк када користите НАЗИВ ДОКУМЕНТА
уграђена променљива.
Користећи НР
да бисте бројали број редова (записа) у улазној датотеци, запамтите то, такође броји и празне редове, као што ћемо видети у доњем примеру.
Када прегледамо датотеку домаинс.ткт Користећи мачка команда, садржи 14 редови са текстом и празни 2 линије:
$ цат ~/домаинс.ткт.
$ авк 'ЕНД {принт "Број записа у датотеци је:", НР}' ~/домаинс.ткт
За пребројавање броја поља у запису или реду, користимо уграђену НР променљиву на следећи начин:
$ цат ~/намес.ткт.
$ авк '{принт "Рецорд:", НР, "хас", НФ, "фиелдс"; } '~/намес.ткт.
Затим можете одредити и сепаратор поља за унос помоћу ФС
уграђена променљива, дефинише како Авк дели улазне линије у поља.
Подразумевана вредност за ФС
је простор и таб, али можемо променити вредност ФС
било ком знаку који ће упутити Авка да према томе подели улазне линије.
Постоје два метода за то:
Размотрите датотеку /etc/passwd на Линук систему, поља у овој датотеци су подељена помоћу :
знак, па га можемо навести као нови сепаратор улазних поља када желимо да филтрирамо одређена поља као у следећим примерима:
Можемо користити -Ф
опцију на следећи начин:
$ авк -Ф ':' '{принт $ 1, $ 4;}' /етц /пассвд.
Опционо, можемо искористити и ФС
уграђена променљива као испод:
$ авк 'БЕГИН {ФС = “:”; } {принт $ 1, $ 4; } ' /етц /пассвд.
Да бисте навели сепаратор излазног поља, користите ОФС
уграђена променљива, дефинише како ће се излазна поља одвојити помоћу знака који користимо као у доњем примеру:
$ авк -Ф ':' 'БЕГИН {ОФС = "==>";} {одштампајте $ 1, $ 4;}' /етц /пассвд.
У ово Део 10, истражили смо идеју коришћења уграђених променљивих Авк које долазе са унапред дефинисаним вредностима. Али такође можемо променити ове вредности, међутим, не препоручује се то ако не знате шта радите, уз одговарајуће разумевање.
Након тога ћемо напредовати како бисмо покрили како можемо користити варијабле љуске у командним операцијама Авк, стога останите повезани са Тецминт.