Операционная система UNIX. Руководство пользователя

       

Разделители ввода


Если используется значение по умолчанию для разделителей полей FS, то поля вводного файла разделяются символами пробела или табуляции и лидирующие символы пробелов отбрасываются, так что каждая из этих строк имеет следующее первое поле:

поле 1 поле 2 поле 1 поле 1

Если в качестве разделителя полей используется символ табуляции, то лидирующие пробелы не отбрасываются.

Разделитель поля может быть установлен при помощи регулярного выражения при присваивоении значения встроенной переменной FS.

Например:

BEGIN { FS = ",[\t] * | ([\t]+" }

переделывает разделитель поля каждой строки в запятую и следующий за ней символ новой строки или табуляции, и каждую строку с символами пустой строки или табуляции без запятой. FS может быть установлен в командной строке с аргументом -F:

Пример.

awk -F ' (, [\t]*) | ([\t]+)' '...'

а выполняет те же действия, что и в предыдущем примере.

Регулярные выражения используются как разделители поля для поиска самых длинных строк (как в sub()), но не нулевых строк.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Содержание раздела