Презентация на тему AWK (GAWK) 2

Презентация на тему AWK (GAWK) 2, предмет презентации: Шаблоны, картинки для презентаций. Этот материал содержит 35 слайдов. Красочные слайды и илюстрации помогут Вам заинтересовать свою аудиторию. Для просмотра воспользуйтесь проигрывателем, если материал оказался полезным для Вас - поделитесь им с друзьями с помощью социальных кнопок и добавьте наш сайт презентаций ThePresentation.ru в закладки!

Слайды и текст этой презентации

Слайд 1
Текст слайда:

(манипулирование файлами данных, выборка и обработка текста )

Преподаватель:

Петриков Владимир Дмитриевич

AWK (GAWK) 2


Слайд 2
Текст слайда:

метасимволы (шаблоны)

^ $ [ ] - + * .(точка) \

^ -- соответствует началу строки
/^A/ - строки, начинающиеся на A
$4 ~ /^Иванов/

$ -- соответствует концу строки.
/A$/ отвечает строкам, заканчивающимся на A.
$4 ~ /вна$/

шаблон

Регулярное выражение

/Иванов/

"^$" соответствует пустой строке.


Слайд 3
Текст слайда:


[ ] -- множество единичных символов
[AWK] соответствует множеству из трех букв A, W, K
G[AWK] представляет множество строк { GA, GW, GK }

- -- задаёт диапазон символов
[a-z] соответствует символам от a до z, {a b c d … y z}
$4 ~ /^[А-С]/
не POSIX – нет переносимости (в Gawk-е не работает)

шаблон


Слайд 4
Текст слайда:

+ -- предыдущий символ присутствует в образце
многократно ( не менее одного раза)

[1-9]00+ -- целые числа, делящиеся на 100
{100 200 …900 1000 …}

* -- предыдущий символ присутствует в образце
ноль или много раз
[1-9][0-9]* -- положительные целые числа.
{1 2 … 10 …100 …}
[1-9]00* -- целые числа, делящиеся на 10
{10 20 …90 100 …}

? -- предыдущий символ присутствует в образце
ноль или 1 раз

[1-9][0-9]* -- положительные целые числа до 99
{1 2 … 10 …99}

шаблон


Слайд 5
Текст слайда:


.(точка) -- произвольный единичный символ
.* - обозначает произвольную
комбинацию символов.
"13." - 131 133 134 13_ 13\n 13

\ -- отменяет специальное значение
последующего символа.
\$ - это символ $
\/ - это символ /


шаблон


Слайд 6
Текст слайда:

Управляющие последовательности

для символов ASCII с кодами 0 - 31

\a 0x07 BEL Звуковой сигнал Bell
\b 0x08 BS Забой Back Space
\f 0x0C FF Перевод бланка Form Feed

\n 0x0A LF Новая строка (перевод строки) (new line)
Line Feed
\r 0x0D CR Возврат каретки Caridge Return

\t 0x09 HT Табуляция (горизонтальная)
\v 0x0B VT Вертикальная табуляция


Слайд 7
Текст слайда:

\\ 0x5c \ Обратная наклонная черта
\/ / Прямая наклонная черта
\' 0x27 ' Одинарная кавычка (апостроф)
\" 0x22 " Двойная кавычка
\? 0x3F ? Вопросительный знак

Символы, используемые в разных «шаблонах»

printf("Hello Word !!! \n");


как напечатать \ “ ?

\ddd строка до трех восьмеричных цифр (0 - 377)
\xdd строка шестнадцатеричных цифр (0 - FF)

Универсальный способ


Слайд 8

Слайд 9
Текст слайда:

[:alnum:] -- алфавитные символы и цифры = [A-Za-z0-9] для USA
[:alpha:] -- символы алфавита = [A-Za-z]
[:blank:] -- символы пробела и табуляции
[:cntrl:] -- управляющие символы (control characters).
[:punct:] -- символы пунктуации
[:digit:] -- символы десятичных цифр = [0-9]
[:xdigit:] -- символы шестнадцатиричных цифр = [0-9A-Fa-f]

[:graph:] (печатаемые и псевдографические (видимые) символы) –
без пробела.
[:print:] (печатаемые символы) + символ пробела

[:space:] -- пробельные символы (такие как пробел и TAB, FF)

[:lower:] -- алфавитные символы в нижнем регистре = [a-z]
[:upper:] -- символы алфавита в верхнем регистре = [A-Z]

символьные классы POSIX ------ / [ класс ] /
в двойные квадратные скобки / [[:alnum:]] /

Классы символов POSIX - для разных стран!



Слайд 10
Текст слайда:

Область шаблона

pat1 , pat2 {...}

/Canada/ , /Brazil/

China 3692 866 Asia
Canada 3852 24 North America

USA 3615 219 North America
Brazil 3286 116 South America


от

до


Слайд 11
Текст слайда:

BEGIN и END

BEGIN

END

Программа

Входной
файл


выполняется
1 раз

выполняется
1 раз

выполняется
много раз




BEGIN { printf “СТАРТ\n” }
/Иванов/
END { printf “\nФИНИШ”}'


Слайд 12
Текст слайда:

BEGIN { printf "СТАРТ\n\n"}

/Иванов/ {n = n+1}

END { printf " %d \n", n
printf "\n\nФИНИШ"}

подсчет строк с /Иванов/

BEGIN
{
printf "СТАРТ\n\n”
}


BEGIN {
printf "СТАРТ\n\n”
}


WIN


Слайд 13

Слайд 14
Текст слайда:

Действие

предложения, разделенные ;
или \n (новая строка)


Вывод (Печать)

Присваивание n = 1

Управляющая структура

Встроенная функция


Слайд 15
Текст слайда:

действие

Вывод (Печать)

print - выводится вся запись + \n print $0

print $1, $2 - значения полей выводятся через пробел

print $1 “abc” - выводится конкатенация значений полей

print “” – выводится пустая строка

формат вывода – по умолчанию


Слайд 16
Текст слайда:

действие

форматированный вывод

printf format, item1, item2, ...

функция sprintf(format, item1, item2, ...)


Слайд 17
Текст слайда:

Управляющие операторы

if (условие) оператор [ else оператор]

while (условие) оператор

do оператор while (условие)

for (выражение1; выражение2; выражение3) оператор

for (переменная in массив) оператор

break
continue
delete массив[индекс]
delete массив
exit [ выражение ]
{ операторы }

действие


Слайд 18
Текст слайда:

if (если)

if( условие ) действие

if( условие ) действие else действие

Анализ условия на истинность, == 0

if (x % 2 == 0)
print "x is even"
else
print "x is odd"

действие


Слайд 19
Текст слайда:

while (пока)

while (условие ) действие

выполнение действия пока значение условия != 0
проверка перед каждым выполнением

{
i = 1
while( i <= 3) {
print $i
i=i+1
}
}

действие


Слайд 20
Текст слайда:

do (делай )

do действие while ( условие )

{ i = 1
do {
print $0
i++
} while (i <= 10)
}

действие


Слайд 21
Текст слайда:

for (для)

for (инициализация; условие; приращение) действие

for (i = 1; i <= 100; i = i + 2)
print i

инициализация задает инициализацию цикла
while (условие) проверка перед каждой итерацией
{
действие
приращение часть итерации
}

действие


Слайд 22
Текст слайда:

for (для)

for (переменная in массив) действие

# Пишем 1 для каждого встречного слова
{
for (i = 1; i <= NF; i++)
used[$i] = 1
}

# Ищем количество разных слов длиннее 10 знаков
END {
for (x in used)
if (length(x) > 10) {
num = num +1
}
print num, "words longer than 10 characters"
}

действие


Слайд 23
Текст слайда:

break (прерывание) – «досрочный» выход из цикла

break

continue (продолжение) –
новая итерация - выполнение нового цикла

continue

- для do, while, for

действие


Слайд 24
Текст слайда:

Типы переменных и их преобразование

Переменные - числа с плавающей запятой
строки
или и то, и другое одновременно

Тип переменной зависит от контекста.
В числовых выражениях переменная - число,
в строковых - строка.

целые значения всегда
преобразуются как целые

a = 12
b = a ""
print a, b
print a + b

b= a "stroka"
print a, b
print a + b

b= "stroka"a # b=0
print a, b
print a + b

По умолчанию
число = 0
строка = "" (пустая строка).

pr6.bat

12 12
24


12 12stroka
24


12 stroka12
12


Слайд 25
Текст слайда:

Операции

= простое присваивание (переменная = значение)

+ сложение
- вычитание
* умножение
/ деление - для вещественных чисел
% модуль (остаток при целочисленном делении)
^ возведение в степень ( ** )

арифметические

-x унарный минус, отрицание
+x унарный плюс; выражение преобразуется в число

x = y = z = 5 как в Си


Слайд 26
Текст слайда:

+= увеличить на
-=
*=
/=
%=
^= возведение в степень и присваивание

++ инкремент n++ - n = n+1
-- декремент n-- - n = n-1
могут быть префиксными и постфиксными

сложные виды присваивания
(операция и присваивание)


Слайд 27
Текст слайда:

Условная Операция

берём положительное значение x


Слайд 28
Текст слайда:


b = 6
print b += b++

или

b = 6
b += ++b + b++
print b

Побочные эффекты

не надо так писать!!!


Слайд 29

Слайд 30
Текст слайда:

Встроенные арифметические функции

Если srand() не имеет аргументов, то начальное значение производится из времени дня.


Слайд 31
Текст слайда:

Встроенные строковые функции awk


Слайд 32
Текст слайда:

length(arg) - Функция длины arg.
length- длина текущей строки


substr(s,m,n) - Возвращает подстроку строки s, начиная с позиции m, всего n символов.

index(s,t) - Возвращает начальную позицию подстроки t в строке s.
(Или 0, если t в s не содержится.)

sprintf(fmt,exp1,exp2,...) - Осуществляет форматированную печать (вывод) в строку, идентично PRINTF.

split(s,array,sep) - Помещает поля строки s в массив array и возвращает число заполненных элементов массива. Если указан sep, то при анализе строки он понимается как разделитель.

Строковые функции


Слайд 33
Текст слайда:

Встроенные строковые функции awk


Слайд 34
Текст слайда:

Встроенные строковые функции awk


Слайд 35
Текст слайда:

Встроенные строковые функции awk

asort(source [, dest])

- сортировка


a["last"] = "de"
a["first"] = "sac"
a["middle"] = "cul"

n = asort( a , b )

a["last"] = "de"
a["first"] = "sac"
a["middle"] = "cul"


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика