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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Руководство пользователя для 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