Дата: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
Количество просмотров: 3125
Комментарии к статье:
Добавить комментарий