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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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

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

5.5.5 Обзор правил разделения на поля

В соответствии со стандартом POSIX, awk должен вести себя так, как будто каждая запись разделяется на поля во время ее чтения. В частности, это означает, что можно менять значение FS после прочтения записи, и значения полей (т.е., как они были выделены) должны соответствовать старому значению FS, а не новому. Однако, многие реализации awk действуют не так. Вместо этого они откладывают выделение полей до ссылки на поле. Поля выделяются согласно текущему значению FS! (d.c.) Такое поведение может быть трудно диагнозируемым. Следующий пример иллюстрирует разницу между этими двумя методами. (Команда sed печатает первую строку из `/etc/passwd'. Утилита sed является "поточным редактором". Ее поведение также определяется стандартом POSIX.)

sed 1q /etc/passwd -- awk '- FS = ":" ; 

print $1 ""'

будет обычно печатать

root on an incorrect implementation of awk

в то время как  gawk напечатает что-нибудь вроде

root:nSijPlPhZZwgE:0:0:Root:/:

В следующей таблице указывается, как выделяются поля на основании значения переменной FS. (`==' означает "равно следующему.") FS == " " Поля разделяются белыми пробелами. Ведущие и завершающие белые пробелы игнорируются. Это же делается по умолчанию.

FS == любой другой отдельный символ. Поля разделяются каждым вхождением этого символа. Кратные последовательные вхождения ограничивают пустые поля, так же как ведущее и завершающее запись вхождения. Этот символ может также быть метасимволом регулярного выражения; его представление не нуждается в управляющей последовательности.

FS == регулярное выражение. Поля разделяются вхождениями символов, которые соответствуют регулярному выражению. Ведущее и завершающее вхождения отделяют пустые поля. FS == "" . Каждый отдельный символ в записи становится отдельным полем.

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



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





Copyright © 2005-2016 Project.Net.Ru