У овом шестом делу Авк серија, погледаћемо коришћење следећи
команда, која говори Авк да прескочите све преостале обрасце и изразе које сте навели, већ уместо тога прочитајте следећи ред за унос.
Тхе следећи
команда вам помаже да спречите извршавање онога што бих ја назвао корацима губљења времена у извршавању команде.
Да бисмо разумели како то функционише, размотримо датотеку под називом фоод_лист.ткт то изгледа овако:
Ставке са листом хране
Но Итем_Наме Цена Количина. 1 Манго $ 3,45 5. 2 јабуке 2,45 УСД 25. 3 ананаса 4,45 долара 55. 4 парадајза 3,45 УСД 25. 5 лукова 1,45 долара 15. 6 банана 3,45 УСД 30.
Размислите о покретању следеће наредбе која означава намирнице чија је количина мања или једнака 20 са (*)
потписати на крају сваког реда:
# авк '$ 4 <= 20 {принтф "%с \ т%с \ н", $ 0, "*"; } 4 УСД> 20 {принт $ 0;} 'фоод_лист.ткт Но Итем_Наме Цена Количина. 1 манго 3,45 долара 5* 2 јабуке 2,45 УСД 25. 3 ананаса 4,45 долара 55. 4 парадајза 3,45 УСД 25 5 Лука 1,45 УСД 15* 6 банана 3,45 УСД 30.
Горња команда заправо функционише на следећи начин:
(*)
потпишите се на крају помоћу израза један: $4 <= 20
$4 > 20
Али овде постоји један проблем, када је први израз се извршава, ред који желимо да означимо се штампа помоћу: {принтф "%с \ т%с \ н", $ 0, "**"; }
а затим у истом кораку, други израз такође се проверава што постаје фактор губљења времена.
Дакле, нема потребе за извршавањем другог израза, $4 > 20
поново након штампања већ означених линија које су одштампане помоћу првог израза.
Да бисте решили овај проблем, морате користити следећи
наредите на следећи начин:
# авк '$ 4 <= 20 {принтф "%с \ т%с \ н", $ 0, "*"; следећи; } 4 УСД> 20 {принт $ 0;} 'фоод_лист.ткт Но Итем_Наме Цена Количина. 1 манго 3,45 долара 5* 2 јабуке 2,45 УСД 25. 3 ананаса 4,45 долара 55. 4 парадајза 3,45 УСД 25 5 Лука 1,45 УСД 15* 6 банана 3,45 УСД 30.
Након што се један улазни ред одштампа помоћу $4 <= 20
{принтф "%с \ т%с \ н", $ 0, "*"; следећи; }
, следећи
укључена команда ће вам помоћи да прескочите други израз $4 > 20
{штампа $ 0;}
, па извршавање прелази на следећи улазни ред без губљења времена на проверу да ли је количина већа од 20.
Тхе следећи команда је веома важна за писање ефикасних команди и где је потребно, увек можете користити за убрзање извршавања скрипте. Припремите се за следећи део серије где ћемо погледати помоћу стандардног уноса (СТДИН) као улаз за Авк.
Надам се да ће вам ово упутство бити од помоћи и као и увек можете написати своје мисли остављајући коментар у одељку за коментаре испод.