П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

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

MySQL

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

Хостинг

Другое







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

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

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

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

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

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

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

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

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

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

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

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



 
 



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

2. Начальные сведения об awk

2.4 Пример с двумя правилами

Интерпретатор awk читает входные файлы построчно. К каждой строке применяются образцы всех правил. Если строке соответствуют несколько образцов, соответствующие действия выполняются в порядке, в котором они фигурируют в программе awk. Если входной строке не соответствует ни один образец, никакие действия не выполняются. После обработки всех правил (возможно никаких), соответствующих строке, интерпретатор читает следующую строку (однако, см. раздел 9.7 [Следующий оператор], стр. 111, и также раздел 9.8 [Оператор nextfile], стр. 112). Это продолжается до достижения конца файла.

Например, awk-программа:

/12/ - print $0 "" /21/ - print $0 ""

содержит два правила. Образец первого правила есть цепочка `12', а действие `print $0'. Второе правило имеет образец `21' и действием тоже `print $0'. Каждое правило заключено в свою собственную пару скобок.

Эта программа печатает каждую строку, содержащую цепочку `12' или цепочку `21'. Если строка содержит обе цепочки, она печатается дважды, один раз по каждому правилу. Вот что будет, если мы выполним эту программу на наих двух файлах с данными, `BBS-list' и `inventory-shipped':

$ awk '/12/ - print $0 "" ? /21/ - print $0 ""' 
BBS-list inventory-shipped
a aardvark 555-5553 1200/300 B
a alpo-net 555-3412 2400/1200/300 A 
a barfly 555-7685 1200/300 A
a bites 555-1675 2400/1200/300 A
a core 555-2912 1200/300 C
a fooey 555-1234 2400/1200/300 B
a foot 555-6699 1200/300 B
a macfoo 555-6480 1200/300 A
a sdace 555-3430 2400/1200/300 A
a sabafoo 555-2127 1200/300 C
a sabafoo 555-2127 1200/300 C
a Jan 21 36 64 620
a Apr 21 70 74 514

Заметьте, что строка из `BBS-list', начинающаяся с `sabafoo', печатается дважды, один раз для каждого правила.

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



 





Copyright © 2005-2011 Project.Net.Ru