Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Команды.doc
Скачиваний:
12
Добавлен:
23.03.2015
Размер:
187.9 Кб
Скачать

Команда awk

Синтаксис команды

awk [-Fсимвол] [[-f] программа] [аргумент ...] [файл ...]

Описание команды

Команда awkпросматривает каждый входнойфайлв поисках строк, которые соответствуют какому‑либо из шаблонов, заданных в параметрепрограмма. Если такие строки найдены, то для них выполняются действия, ассоциированные с данным шаблоном. Данное описание не является полным описанием команды, а адаптировано применительно к настоящему курсу. Для получения полного описания обращайтесь к UNIXManual(командаman).

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

Команде awkмогут быть переданы аргументы в виде:

имя=значение,

где имя – имя переменной, а значение – значение этой переменной.

В качестве шаблонов могут использоваться расширенные регулярные выраженияили условные выражения. С каждым шаблоном впрограммеможет быть связано действие, выполняющееся, если найдена строка файла, соответствующая шаблону. Набор шаблонов можно задать либо непосредственно в командной строке, либо поместить в файл, имя которого указывается после опции-f. Если шаблоны указаны в командной строке, их следует заключить в одинарные кавычки, чтобы избежать интерпретации оболочкой.

Ввод для awkделится на записи, разделяемые специальным символом. По умолчанию это символ перевода строки и в таком случаеawkобрабатывает ввод построчно. Разделитель записей можно изменить, переопределив внутреннюю переменнуюRS. Каждая запись делится на поля, ограниченные разделителями полей (по умолчанию - пробелами). Этот разделитель можно изменить, переопределив переменнуюFSили указав флаг-Fсимвол. Поля исходных строк доступны по именам$1,$2, и т.д. Имя$0ссылается на всю строку.

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

Опции команды awk:

- f программа

Указывает имя файла, содержащего программу для awk.

- F символ

Задает новый символ-разделитель полей записи.

 

Команда wc

Синтаксис команды

wc [-l] [-w ] [-c] [- L ] [файл ...]

Описание команды

Команда wcподсчитывает строки, слова и символы, читая их из указанных файлов или со стандартного ввода, если файлы не заданы. Подсчитывается также общий итог для всех указанных файлов. Данное описание не является полным описанием команды, а адаптировано применительно к настоящему курсу. Для получения полного описания обращайтесь к UNIXManual(командаman).

При подсчете подразумевается, что слово – это максимальная цепочка символов, не содержащая пробелов, табуляций и переводов строк, а количество строк равно количеству символов перевода строки.

Опции команды wc:

- l

Подсчет числа строк.

- w

Подсчет числа слов

-c

Подсчет числа символов.

-L

Вывести максимальную длину строки (в байтах).

Можно задавать любую комбинацию этих опций. По умолчанию используется набор -lwc. Если в командной строке указаны имена файлов, то они выводятся после соответствующих сумм.