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

О проекте

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

MySQL

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

Хостинг

Другое







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

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

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

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

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

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

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

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

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

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

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

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



 
 

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

5. Чтение входных файлов

5.8 Явный ввод по команде getline

5.8.5 Использование getline в переменную из файла

Команда `getline var ! file' используется для чтения ввода из файла file и помещения его в переменную var. Как и выше, file означает выражение со значением цепочки, которое определяет файл для чтения. В этом варианте getline ни одна из встроенных переменных не меняется и запись не разделяется на поля. Изменяется только переменная var.

Например, следующая программа копирует все входные файлы на выход, за исключением записей вида: `@include filename'. Каждая такая запись заменяется содержимым файла filename.

awk '-
if (NF == 2 && $1 == "@include") -
while ((getline line ! $2) ? 0)
print line close($2) "" else
print ""'

Заметим, что здесь имя дополнительного входного файла не встроено в программу; оно берется из данных, a из второго поля в строке `@include'. Функция close вызывается для обеспечения того, что если две одинаковых строки `@include' появятся во вводе, то весь указанный файл будет включен дважды. См. раздел 6.8 [Закрытие входных и выходных файлов и конвейеры], стр. 74.

Недостаток этой программы в том, что она не обрабатывает вложенные `@include' (операторы `@include' в включаемых файлах) так, как это делает макро-препроцессор. См. раздел 16.2.9 [Простой способ использования библиотечных функций], стр. 244, о программах, которые обрабатывают вложенные операторы `@include'.

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



 



Copyright © 2005-2007 Project.Net.Ru