Язык обработки данных AWK3. Действия3.1 Вывод /Печать/Формат оператора печати:PRINT [< список выражений> ] [ > < выражение1> ] Если в списке выражения находятся через запятую, то значения этих выражений выводятся на output (печатаются) через символ-разделитель OFS (по умолчанию пробел). Если же выражения стоят через пробел, то на печати происходит их конкатенация. Значение < выражения1> рассматривается как имя файла. Само его присутствие означает печать в файл. Если вместо ``> '' стоит ``> > '', то это означает добавление к уже существующему файлу. Можно использовать в одной программе максимально до 10 output файлов. Оператор форматированной печати: PRINTF формат [,список выражений] [ > выражение1] формат: символьная строка в двойных кавычках. Идентичен формату, используемому в функции printf в языке ``С''. Формат может содержать:
3.2 ПрисваиваниеОператор присваивания имеет вид:< переменная> = < выражение> Начальное значение переменной 0 или `` '' (пробел). Допускаются другие типы присваивания в соответствии с языком ``С'': "+=","-=","*=","/=","%=". < переменная> ++, ++< переменная> - увеличение значения переменной на 1. < переменная> --, --< переменная> - уменьшение значения переменной на 1.
3.3 Встроенные функцииlength(arg) - Функция длины arg. Если arg не указан, то выдает длину текущей строки. exp(),log(),sqrt() - Математические функции экспонента, логарифм и квадратный корень. int() - Функция целой части числа. substr(s,m,n) - Возвращает подстроку строки s, начиная с позиции m, всего n символов. index(s,t) - Возвращает начальную позицию подстроки t в строке s. (Или 0, если t в s не содержится.) sprintf(fmt,exp1,exp2,...) - Осуществляет форматированную печать (вывод) в строку, идентично PRINTF. split(s,array,sep) - Помещает поля строки s в массив array и возвращает число заполненных элементов массива. Если указан sep, то при анализе строки он понимается как разделитель.
3.4 Управляющие структурыУсловное предложение:if ( < условие> ) < предложение> \hskip 1cm [else < предложение> ] Предложения цикла: while ( < условие> ) < предложение> for (< выражение> ; < условие> ; < выражение> ) \hskip 1cm < предложение> Например: for(i=1; i< =NF; i++) - Аналогично циклу for в языке ``С'' for (i in array) - Цикл по элементам массива. Но, элементы массива доступны в этом случае в случайном порядке. break - Немедленный выход из цикла. continue - Переход к выполнению следующего предложения. next - Немедленный переход к анализу следующей строки. exit - Выход из программы (на конец input). # - Комментарий
|
<<< | Оглавление | Страница: 3 4 | >>> |