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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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