Немного о qawk

Автор: Admin

Дата:2013-04-08

gawk

Qawk - можно скачать, что это отдельный язык программирования для работы с файлами.

Работа с полями данных обеспечивается при помощи переменных
$0
$1
$2
$n далее строки

Пример1

# vi qawk1
masha   01.03.1988 24
nina    01.06.1990 22
roma    22.03.1980 32

# gawk '{print $1}' ./gawk1
masha
nina
roma

Опция -F для обозначения символа разделителя строки
gawk -F: или gawk -F/

Пример2

Извлечем 2, 5 и 6 столбец из файла /var/log/messages и перенаправим вывод в /tmp/messag
# gawk '{print $2 " " $5 " " $6 " " }' /var/log/messages > /tmp/messag

Пример3

Тоже самое, но при помощи выражения в файле и добавления
# vi script2
{print $1="Дата: " $2 " Июля: " $5 " " $6 " "}
# gawk -f ./script2 /var/log/messages > /tmp/messag1

Расширим скрипт и добавим к его началу и к концу

# vi script3

BEGIN {
print "Месяц    Демон   Сообщает"
print "--------     ---------   ----------------"
}
{print $1 " " $5 " " $6 " "}
END {
print "Конец Отчета"
}

# gawk -f ./script2 /var/log/messages > /tmp/messag2

Разделители полей в gawk (FS и OFS)

# vi gawk2
qwery, ewee, roma, rita

# gawk 'BEGIN{FS=","; OFS="||"} {print $1,$2,$3,$4 }' gawk2
qwery|| ewee|| roma|| rita

или

# gawk -F, 'BEGIN{OFS="--"} {print $1,$2,$3,$4 }' gawk2
qwery-- ewee-- roma-- rita

Переменная FIELDWIDTHS

# vi name1

MihailASmirnov
# gawk 'BEGIN {FIELDWIDTHS="6 1 7"} {print $1, $2, $3}' name1
Mihail A Smirnov

Количество просмотров: 3022

Комментарии к статье:

Добавить комментарий

Введите сумму с картинки

© Plutonit.ru - Администрирование, настройка Linux и Windows 2009 - 2024