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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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