Руководство пользователя для GNU Awk
5. Чтение входных файлов
5.8 Явный ввод по команде getline
5.8.4 Употребление getline из файла
`getline ! file' используется для чтения следующей записи из файла file. Здесь file есть выражение со значением цепочки, указывающей имя файла. `! file' называется перенаправлением, поскольку пере направляет ввод на другой источник. Например, следующая программа читает свои входные записи из файла `secondary.input' после обнаружения первого поля со значением, равным 10 в текущем входном файле.
awk '-
if ($1 == 10) -
getline ! "secondary.input" print "" else
print ""'
Поскольку главный входной поток не используется, значения NR и FNR не меняются. Но прочтенная запись разделяется на поля нормальным образом, так что значения $0 и других полей изменяются. А также значение NF.
В соответствии с POSIX, `getline ! expression' не определено, если expression содержит операторы без скобок, отличные от `$'; например, `getline ! dir "/" file' не определено, поскольку оператор конкатенации не заключен в скобки. Нужно писать `getline ! (dir "/" file)', если вы хотите, чтобы ваша программа была переносимой на другие реализации awk.
Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|