Загальні можливості мови AWK, Детальна інформація
Загальні можливості мови AWK
¬
@о підтримується операційною системою UNIX. Виклик програми здійснюється командою awk –f program file, де program є назвою файлу з awk-програмою, а file – файл даних. Не порушуючи логіки системи UNIX команда awk забезпечує потоковий ввід-вивід. who | awk -f program означає, що як файл даних використовується результат виконання команди who. Синтаксис awk-програм схожий із синтаксисом мови Cі, найбільша різниця між awk та Сі заключається в тому, що змінні в awk не типівізовані як в BASIC або тип Variant в Delphi.
Текст програми пишеться у операторних дужках { } перед яким може стояти шаблон BEGIN або END. BEGIN означає, що дана частина коду виконується до початку обробки вхідних даних, END – після закінченя. Якщо шаблон не вказано, код виконується для кожного рядка з вхідного потоку.
BEGIN{ n = 1 }
{
a[n] = $1;
b[n] = $2;
n++
}
END{
for (i = 1; i <= n; i++)
printf(“a[i] + b[i] = %f\n”, a[i] + b[i])
}
В даному прикладі код {
a[n] = $1;
b[n] = $2;
n++
} виконається стільки разів, скільки рядків містить вхідний потік.
Арифметичні та логічні операції в awk:
awk Pascal
z = x + y z := x + y
z = x – y z := x – y
z = x * y z := x * y
z = x / y z := x / y
z += y z := z + y
z = x % y z := x mod y
-=, *=, /=, %= Аналогічно
x++ inc(x)
x-- dec(x)
x && y x and y
@о підтримується операційною системою UNIX. Виклик програми здійснюється командою awk –f program file, де program є назвою файлу з awk-програмою, а file – файл даних. Не порушуючи логіки системи UNIX команда awk забезпечує потоковий ввід-вивід. who | awk -f program означає, що як файл даних використовується результат виконання команди who. Синтаксис awk-програм схожий із синтаксисом мови Cі, найбільша різниця між awk та Сі заключається в тому, що змінні в awk не типівізовані як в BASIC або тип Variant в Delphi.
Текст програми пишеться у операторних дужках { } перед яким може стояти шаблон BEGIN або END. BEGIN означає, що дана частина коду виконується до початку обробки вхідних даних, END – після закінченя. Якщо шаблон не вказано, код виконується для кожного рядка з вхідного потоку.
BEGIN{ n = 1 }
{
a[n] = $1;
b[n] = $2;
n++
}
END{
for (i = 1; i <= n; i++)
printf(“a[i] + b[i] = %f\n”, a[i] + b[i])
}
В даному прикладі код {
a[n] = $1;
b[n] = $2;
n++
} виконається стільки разів, скільки рядків містить вхідний потік.
Арифметичні та логічні операції в awk:
awk Pascal
z = x + y z := x + y
z = x – y z := x – y
z = x * y z := x * y
z = x / y z := x / y
z += y z := z + y
z = x % y z := x mod y
-=, *=, /=, %= Аналогічно
x++ inc(x)
x-- dec(x)
x && y x and y
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021