Awk

Как использовать цикл for в команде awk

Как использовать цикл for в команде awk
Цикл используется для многократного выполнения некоторых операторов. Итерация цикла на основе условия завершения или количества элементов массива. Любой язык программирования поддерживает три типа циклов. Цикл For - один из них. Цикл For можно объявить двумя способами. Простой цикл for состоит из трех частей.  И еще один цикл for - это цикл for-in, который используется для итерации любого списка данных или массива. В этом руководстве показано использование этих двух типов циклов в команде awk на различных примерах.

Синтаксис:

  1. для объявления цикла:
for (инициализация; условие завершения; приращение / уменьшение)
заявления

Первая часть используется для инициализации переменной для запуска для петля. Вторая часть содержит условие завершения для управления итерацией цикла, и цикл будет продолжаться до тех пор, пока условие не станет истинным. Последняя часть будет увеличивать или уменьшать переменную инициализации на основе первой части.

  1. декларация об оплате
for (переменная в массиве / списке)
заявления

за-в цикл используется для выполнения тех задач, в которых количество итераций цикла не фиксировано. за-в цикл в основном используется для анализа массива или списка данных. Цикл считывает все данные из массива или списка и сохраняет значение переменной на каждой итерации.

Пример-1: Использование простого цикла for

В следующем скрипте используется простой цикл for. Здесь, прилавок переменная инициализируется значением 10, и цикл завершится, когда значение прилавок меньше 5. Скрипт напечатает прилавок значения от 10 до 5. Запускаем команду из терминала.

$ echo | awk 'for (counter = 10; counter> = 5; counter--)
печать "Бег за", счетчик, "раз."," \ n "; '

Выход:

Следующий вывод появится после выполнения команды.

Пример-2: Использование цикла for-in для чтения массива

Массив с именем Customer объявляется в следующем скрипте, где клиент я бы устанавливается как индекс массива, а клиентский название устанавливается как значение массива. за-в цикл используется здесь для перебора каждого индекса из массива и печати имени клиента. Запускаем скрипт из терминала.

$ echo | awk 'НАЧАТЬ Клиент ["4587"] = "Нил Джонсон";
Клиент ["8953"] = "Элла бинте Назир";
Клиент ["3455"] = "Брюс Хислоп";
Клиент ["6335"] = "Изабелла";
 
END для (я в клиенте)
print "Имя", i, "is", Customer [i]
'

Выход:

Следующий вывод появится после выполнения скрипта.

Пример-3: Использование вложенного цикла for

Когда цикл for объявляется под другим циклом for, он называется вложенным циклом for. Внешний цикл, который используется в этом скрипте, будет повторяться 2 раза, а внутренний цикл будет повторяться 3 раза. Таким образом, оператор печати будет выполняться 6 раз (2X3 = 6). Запускаем скрипт из терминала.

$ echo | awk 'END for (i = 1; i<=2; i++)
для (j = 1; j<=3; j++)
print "Итерация строки", i, "и столбца", j, "\ n"; '

Выход:

Следующий вывод появится после запуска скрипта.

Пример 4: Использование цикла for с оператором break

перерыв оператор используется в любом цикле для завершения цикла до достижения условия завершения на основе конкретного условия. В следующем скрипте цикл for начинается с 3 и завершается, когда значение я больше 20. Но когда стоимость я будет равно переменной число тогда условие if будет истинным, и цикл завершится для перерыв утверждение.

$ echo | awk 'BEGIN число = 7; END for (i = 3; i<=20; i++)
если (я == число) перерыв;
еще
print "Текущее значение i =", i, "\ n"; '

Выход:

Здесь, если условие ложно для четырех итераций, когда значение я это 3,4,5 и 6. Итак, следующий вывод печатается для четырех итераций.

Пример 5: Использование цикла for с оператором continue

Оператор Continue используется в любом цикле, чтобы пропустить любой оператор на основе какого-либо конкретного условия. Массив с именем продукт объявлен в следующем скрипте. за-в цикл используется для перебора массива и проверки каждого значения с помощью «Офисное программное обеспечение«. Если значение совпадает, то будет напечатано сообщение о недоступности, опуская доступное сообщение для оператора continue, в противном случае будет напечатано сообщение о недоступности. Запускаем скрипт из терминала.

$ echo | awk 'BEGIN product ["1001"] = "Антивирус";
product ["1002"] = "Офисное ПО";
product ["1003"] = "Программное обеспечение для рисования";
product ["1004"] = "HDD";
product ["1005"] = "DVD"; END для (i в продукте)
if (product [i] == "Офисное ПО")
распечатать продукт [i], "недоступно \ n";
Продолжать;

распечатать продукт [i], "is available", "\ n"; '

Выход:

Следующий вывод появится после запуска скрипта.

Пример-6: Использование цикла for в файле awk

Создайте текстовый файл с именем продажи.текст и добавьте следующий контент, чтобы попрактиковаться в этом примере.

продажи.текст

2015 70000
2016 80000
2017 83000
2018 86000
2019 90000

Создайте файл awk с именем cal_sal.awk с помощью следующего скрипта для расчета общей суммы продаж файла продажи.текст. Второе поле содержит годовую сумму продаж в файле продажи.текст. В сценарии, продажи массив будет хранить все значения второго поля и сумма переменная инициализируется 0, чтобы добавить все значения продажи множество. Следующий, за-в цикл используется для итерации каждого элемента продажи массив и добавьте значение с сумма Переменная. Наконец, оператор печати используется для печати значения сумма переменная для отображения общей суммы продаж.

cal_sal.awk


продажи [i ++] = 2 доллара США;
сумма = 0;

КОНЕЦ
для (я в продажах)

сумма = сумма + продажи [i];

print "Общая сумма продаж =" сумма;

Выполните следующую команду, чтобы выполнить сценарий cal_sal.awk файл.

$ awk -f cal_sal.awk продажи.текст

Выход:

Всего 5 записей в продажи.текст файл и сумма суммы продаж 409000, которая печатается после выполнения скрипта.

Заключение:

В этом руководстве мы попытаемся объяснить различные варианты использования цикла for в команде awk. Надеюсь, читатель получит четкое представление об использовании цикла for в сценарии awk и сможет правильно использовать цикл for в программировании на awk.

OpenTTD против Simutrans
Создание собственного транспортного симулятора может быть увлекательным, расслабляющим и чрезвычайно увлекательным занятием. Вот почему вам нужно попр...
Учебник OpenTTD
OpenTTD - одна из самых популярных бизнес-симуляторов. В этой игре вам нужно создать замечательный транспортный бизнес. Тем не менее, вы начнете в нач...
SuperTuxKart для Linux
SuperTuxKart - отличная игра, созданная для того, чтобы бесплатно познакомить вас с Mario Kart в вашей системе Linux. Играть в нее довольно сложно и в...