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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Руководство пользователя для GNU Awk

11. Массивы в awk

11.4 Примеры основных массивов

Следующая программа берет список строк, каждая строка начинается с номера строки, и затем печатает их в порядке номеров строк. Эти номера распложены не подряд при чтении, они перемешаны. Программа сортирует записи, формируя массив, использующий номера строк как индексы. Затем печатает строки в порядке их номеров. Это очень простая программа. Она сбивается, если встречает повторяющиеся номера, пропуски или строки, которые не начинаются с номеров.

-
if ($1 ? max)
max = $1 arr[$1] = $0 ""
END -
for (x = 1; x != max; x++)
print arr[x] ""

Первое правило следит за наибольшим из прочтенных номеров строк; оно также запоминает все строки в массиве arr с индексами, равными номерам строк. Второе правило исполняется после окончания ввода. Оно печатает все строки. Если это программа исполняется со следующим вводом:

5 I am the Five man
2 Who are you? The new number two!
4 . . . And four on the floor
1 Who is number one?
3 I three you.

выход будет таким:

1 Who is number one?
2 Who are you? The new number two!
3 I three you.
4 . . . And four on the floor
5 I am the Five man

Если номер строки повторяется, то последняя строка с этим номером перекроет остальные. Пропуски в номерах будут обрабатываться, если слегка усовершенствовать правило END программы:

END -
for (x = 1; x != max; x++)
if (x in arr)
print arr[x] ""

Назад | Вперед
Содержание (общее) | Содержание раздела



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





Copyright © 2005-2016 Project.Net.Ru