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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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

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

5.3 Непостоянные номера полей

Номер поля не обязан быть константой. Любое выражение языка awk может быть использовано после `$' для ссылки на поле. Значение выражения указывает номер поля. Если значение есть не число, а цепочка, она конвертируется в номер.

Рассмотрим такой пример:

awk '- print $NR ""'

Напомним, что NR есть количество прочитанных до настоящего момента записей: один для первой записи, два во второй, и т.д. Так что этот пример печатает первое поле первой записи, второе поле второй записи, и т.д. Для двадцатой записи печатается поле номер 20; обычно запись имеет меньше 20 полей, так что это будет пустая строка.

Вот другой пример использования выражения 
в качестве номера поля:

awk '- print $(2*2) ""' BBS-list

awk должен вычислить выражение `(2*2)' и использовать его значение как номер поля для печати. Знак `*' означает умножение, так что выражение `2*2' вычисляется как четыре. Скобки употреблены для того, чтобы умножение было произведено до операции `$'; они необходимы всегда, когда в выражении для номера поля встречается бинарная операция. Наш пример поэтому печатает операционные часы (четвертое поле) каждой строки файла `BBS-list'.

(Все операторы awk перечислены в порядке убывания приоритета в разделе 7.14 [Приоритет операторов (Как операторы гнездятся)], стр. 94.) Если вычисленный номер поля есть 0, вы получаете всю запись. Так, $(2-2) имеет тот же смысл, что и $0. Отрицательные номера полей недопустимы; такая ссылка обычно приводит к прекращению исполнения программы. (Стандарт POSIX не предусматривает отрицательной ссылки на номер записи. gawk замечает это и прекращает выполнение программы. Другие реализации awk могут вести себя по-другому.)

Как упоминалось в разделе 5.2 [Обследование полей], стр. 40, количество полей текущей записи содержится в встроенной переменной NF (см. также Гл. 10 [Встроенные переменны, стр. 115). Выражение $NF не имеет специального смысла и использует значение NF как номер поля.

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



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





Copyright © 2005-2016 Project.Net.Ru