П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180368 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 78666 раз(а).

Учебник HTML.
Просмотров 75674 раз(а).

Руководство по PHP5.
Просмотров 46691 раз(а).

Хостинг через призму DNS.
Просмотров 54146 раз(а).

Подборка текстов стандартных документов.
Просмотров 46605 раз(а).

Учебник PHP - Самоучитель
Просмотров 52787 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53383 раз(а).

Внешние атаки...
Просмотров 43165 раз(а).

Учебник PHP.
Просмотров 38718 раз(а).

SSI в примерах.
Просмотров 28636 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





II. Язык обработки шаблонов awk

3. awk-переменные и выражения

В языке awk выделяются две группы переменных: предопределенные и декларированные в программе. Исходные значения предопределенных переменных устанавливаются интерпретатором awk в процессе запуска и выполнения awk-программы.

К предопределенным относятся: Умолчания:
NR - номер текущей строки
NF - число полей в текущей строке
RS - разделитель строк на вводе "\0"
FS - разделитель полей на вводе пробел и/или табуляция
ORS - разделитель строк на выводе RS
OFS - разделитель полей на выводе FS
OFMT - формат вывода чиcл "%.6g"
FILENAME - имя входного файла.

Прочим переменным пользователь может присваивать начальные значения. По умолчанию "0" или пустая строка (что здесь равнозначно!).

Типы переменных:

  • позиционные,
  • числа с плавающей точкой,
  • строка символов,
  • массив.

Интерпретатор awk рассматривает переменную как строковую, пока не возникает необходимость выполнить операции:

  • если пробел (конкатенация), то строки;
  • если "+", то числа с плавающей точкой.

Примеры:


1. awk '{a = $3 $4; print a}' f-awk

awk '{a = $3+$4; print a}' f-awk

Результат:
198050

197940

197940

197060

2030

2019

2019

2030




2. awk '{}

END {a = 2 + 2 ; print a}' < f-awk

awk '{}

END {a = 2 + "2" ; print a}' < f-awk

awk '{}

END {a = 2 + "два" ; print a}' < f-awk

awk '{}

END {a = "два"+"два" ; print a}' < f-awk

awk '{}

END {a = 2.2 + 2.000 ; print a}' < f-awk

Результат:
4

4

2

0

4.2

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

day [Jan][31] = Mon

day [Feb][01] = Tue

day [Feb][02] = Wed

Массивы удобно использовать при суммированиях, например записи выплат имеют вид (файл "p-1"):


John 100

Mary 200

Mary 200

John 100

John 300



awk '{sum[$1] += $2; print $1 sum[$1]} ' < p-1

Результат (поименный нарастающий итог):

John100

Mary200

Mary400

John200

John500

Операции как в Си =, +=, -=, *=, /=, %=, +, /, %, ++, --.
Сравнения чисел, если оба числа, иначе - строк <, <=, ==, !=, >=, >
Логические операции !, ||, &&
Операция "пробел" конкатенация.



Назад | Содержание | Вперед


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru