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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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




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

9. Встроенные функции

Встроенные функции:

sin (expr) синус expr
cos (expr) косинус expr
exp (expr) возведение в степень expr
log (expr) натуральный логорифм expr
sqrt (expr) извлечение корня expr
int (expr) целая часть числа
length (s) длина строки s
printf (fmt, ...) форматирование (аналогично Си) по спецификации fmt.
substr (s, m, n) подстрока в n символов строки s, начинающаяся с m.
getline () чтение следующей строки.
0 конец файла, иначе 1.
index (s1, s2) номер позиции, с которой s1 совпадает с s2, иначе 0.
split (s, M, c) строка s разбивается элементы массива M по разделителю c (по умолчанию FS=" "); функция возвращает число полей.

Примеры.

1) awk ' BEGIN {FS = "."; a=0}

length ($1) > 8 {print (length ($1), $0);

a++

}

END {print ("Найдено строк: " a) }' f-awk
Результат:
9 Сидоров С.К. 1979 40

10 Хведоров И.Х. 1970 60

Найдено строк: 2

Здесь поля разделяются по ".", выбираются строки у которых длина первого поля больше 8-ми, и их длина "length ($1)" печатается перед строкой "$0".

2) awk '{i=split($0, Name, ".");

for (j=1; j<=i; j++)

print ("Name[" j "]=" Name[j])

}' f-awk
Результат:
Name[1]=Иванов И

Name[2]=И

Name[3]= 1980 50

Name[1]=Петров А

Name[2]=В

Name[3]= 1979 40

Name[1]=Сидоров С

Name[2]=К

Name[3]= 1979 40

Name[1]=Хведоров И

Name[2]=Х

Name[3]= 1970 60



3) awk '{print (length)}' f-awk
Результат:
22

22

22

22

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

4) awk '{printf "%7.2f %s\n", NR, $0}' f-awk

echo

awk '{printf "\t%s %s \n", NR, $0}' f-awk
Результат:
1.00 Иванов И.И. 1980 50

2.00 Петров А.В. 1979 40

3.00 Сидоров С.К. 1979 40

4.00 Хведоров И.Х. 1970 60



1 Иванов И.И. 1980 50 

2 Петров А.В. 1979 40 

3 Сидоров С.К. 1979 40 

4 Хведоров И.Х. 1970 60 




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


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





Copyright © 2005-2016 Project.Net.Ru