- •Лабораторна робота 3
- •Базові регулярні вираження
- •Метасимволы, використовувані в регулярних вираженнях
- •Приклади регулярних виражень
- •Приклад виконання лабораторної роботи n3 Завдання 1
- •Завдання 2
- •Завдання 3
- •Варіанти індивідуальних завдань
- •Хід роботи
- •Вибрані команди Unix. Короткий опис:
- •Приклад виконання лабораторної роботи n4 Завдання 1
- •Завдання 1, варіант 1
- •Завдання 1, варіант 2
- •Завдання 1, варіант 3
- •Завдання 2
- •Завдання 2 варіант 1
- •Завдання 2, варіант 2
- •Завдання 2, варіант 3
- •Завдання 3
- •Завдання 3 варіант 1
- •Завдання 3 варіант 2
- •Варіанти індивідуальних завдань
- •Хід роботи
- •Команда awk :
- •Опис шаблонів
- •Приклад виконання лабораторної роботи n5 Приклад 1-1
- •Приклад 1-2
- •Приклад 1-3
- •Приклад 2-3.1
- •Приклад 2-3.2
- •Приклад 2-3.3
- •Приклад 2-3.4
- •Варіанти індивідуальних завдань
- •Команда sh:
- •Команда env:
- •Приклад виконання лабораторної роботи n6
- •Варіанти індивідуальних завдань
- •Хід роботи
- •Деякі приклади програмування
- •Приклад 2
- •Приклад 3
- •Варіанти індивідуальних завдань
Завдання 3
У файлі query4 вибрати всі рядки, у яких дата продажу - весна 1990 р.
Розв'язок:
За структурою файлу query4 видне, що дата представляється досить легко розпізнаваним способом: рік-місяць-число, таким чином, при пошуку дати, що задовольняє нашим вимогам можна не привязываться до певних позицій у рядку, а просто шукати вираження виду: "[0-9]-весняний_місяць-[0-9]".
Як розпізнати весняний_місяць? Весняні місяці - "MAR", "APR", "MAY". Перша буква весняного місяця повинна бути "M" або "A", друга - "A" або "P", третя - "R" або "Y". Із цих букв можна скласти буквосполучення, що позначають весняні місяці, а всі інші можливі буквосполучення не є позначеннями місяців взагалі. Таким чином, шаблон для розпізнавання весняного місяця буде: "[MA][AP][RY]".
Підсумкове регулярне вираження:
"[0-9]-[MA][AP][RY]-[0-9]"
Протокол виконання:
bash2-2.05$ grep "[0-9]-[MA][AP][RY]-[0-9]" ../metod/query4 620 TURNER 100 12-MAR-91 4450 526 WEST 221 04-MAR-90 7700 555 WEST 221 04-MAR-91 8540 528 WEST 224 24-MAR-90 3770 558 WEST 224 31-MAR-91 1700 503 SHAW 201 25-MAR-89 1876 562 SHAW 203 04-MAY-91 2044.5 536 SHAW 206 21-MAY-90 2135.6 561 ROSS 207 20-APR-91 2558.3 506 DUNCAN 208 27-APR-89 2600.4 530 DUNCAN 208 03-APR-90 3026.5 557 DUNCAN 208 08-MAR-91 2461.8 bash2-2.05$
Script done on Thu Sep 5 07:51:47 2002 |
Варіанти індивідуальних завдань
Варіант |
Номер завдання |
Текст завдання |
1 |
1 |
У файлі query1 вибрати всі рядки, у яких ім'я співробітника починається на букву 'R'. |
2 |
У файлі query3 вибрати всі рядки, у яких у назві є слово 'TENNIS', а ціна встановлена в 1990 р. |
|
3 |
У файлі query4 вибрати всі рядки, у яких прізвище продавця - 'DUNCAN'. |
|
2 |
1 |
У файлі query4 вибрати всі рядки, у яких код покупця - 201. |
2 |
У файлі query2 вибрати всі рядки, у яких індекс починається з '11'. |
|
3 |
У файлі query3 вибрати всі рядки, у яких мінімальна ціна не менше 10. |
|
3 |
1 |
У файлі query1 вибрати всі рядки, у яких прізвище співробітника починається на букву 'M'. |
2 |
У файлі query4 вибрати всі рядки, у яких сума не має копійок. |
|
3 |
У файлі query3 вибрати всі рядки, у яких мінімальна ціна менше 10, а максимальна ціна не менше 10. |
|
4 |
1 |
У файлі query4 вибрати всі рядки, у яких прізвище продавця закінчується буквою 'N'. |
2 |
У файлі query1 вибрати всі рядки, у яких посада - 'MANAGER', а відділ - 'SALES'. |
|
3 |
У файлі query3 вибрати всі рядки, у яких максимальна ціна не менше 20. |
|
5 |
1 |
У файлі query1 вибрати всі рядки, у яких код закінчується цифрами '69'. |
2 |
У файлі query2 вибрати всі рядки, у яких у назві є 'SPORT'. |
|
3 |
У файлі query4 вибрати всі рядки, у яких сума не менше від 1000, але менше 2000. |
|
6 |
1 |
У файлі query3 вибрати всі рядки, у яких код закінчується цифрою '1'. |
2 |
У файлі query2 вибрати всі рядки, у яких в адресі номер будинку - '2'. |
|
3 |
У файлі query2 вибрати всі рядки, у яких кредит не менше 10000. |
|
7 |
1 |
У файлі query2 вибрати всі рядки, у яких код закінчується цифрою '8'. |
2 |
У файлі query4 вибрати всі рядки, у яких N замовлення не містить цифри '4'. |
|
3 |
У файлі query1 вибрати всі рядки, у яких зарплата менше 1000. |
|
8 |
1 |
У файлі query1 вибрати всі рядки, у яких перший ініціал - 'K', а другий - 'J'. |
2 |
У файлі query3 вибрати всі рядки, у яких мінімальна ціна рівна 15, а максимальна ціна - 20. |
|
3 |
У файлі query1 вибрати всі рядки, у яких посада - 'MANAGER', а місто - 'NEW YORK'. |
|
9 |
1 |
У файлі query4 вибрати всі рядки, у яких N замовлення закінчується цифрою '4'. |
2 |
У файлі query3 вибрати всі рядки, у яких у назві є слово 'TENNIS', а ціна встановлена в 1990 р. |
|
3 |
У файлі query2 вибрати всі рядки, у яких номер будинку не менше 1000. |
|
10 |
1 |
У файлі query1 вибрати всі рядки, у яких середній ініціал - 'M'. |
2 |
У файлі query3 вибрати всі рядки, у яких ціна встановлена в січні або лютому будь-якого року. |
|
3 |
У файлі query4 вибрати всі рядки, у яких сума не менше 10000. |
|
11 |
1 |
У файлі query2 вибрати всі рядки, у яких штат - 'MA'. |
2 |
У файлі query3 вибрати всі рядки, у яких у коді є два або більше 0 підряд. |
|
3 |
У файлі query1 вибрати всі рядки, у яких прізвище починається на букву 'M', а зарплата менше 1000. |
|
12 |
1 |
У файлі query2 вибрати всі рядки, у яких місто - 'DALLAS'. |
2 |
У файлі query4 вибрати всі рядки, у яких код починається із цифри '5', а сума замовлення містить копійки. |
|
3 |
У файлі query1 вибрати всі рядки, у яких зарплата перебуває в межах від 2000 до 2999. |
|
13 |
1 |
У файлі query1 вибрати всі рядки, у яких місто - не 'NEW YORK'. |
2 |
У файлі query3 вибрати всі рядки, у яких ціна встановлена в 1990 р. |
|
3 |
У файлі query2 вибрати всі рядки, у яких у назві вулиці є цифри. |
|
14 |
1 |
У файлі query3 вибрати всі рядки, у яких у назві є латинські цифри. |
2 |
У файлі query4 вибрати всі рядки, у яких дата продажу - 1-е число будь-якого місяця й року. |
|
3 |
У файлі query1 вибрати всі рядки, у яких посада - не 'SALESPERSON' |
|
15 |
1 |
У файлі query2 вибрати всі рядки, у яких номер телефону починається з '555'. |
2 |
У файлі query3 вибрати всі рядки, у яких у назві є текст, узятий у лапки, а в ньому - слово 'GUIDE'. |
|
3 |
У файлі query4 вибрати всі рядки, у яких сума містить ціле число сотень. |
Лабораторна робота 4 Тема роботи: Застосування фільтрів при обробці текстів Ціль роботи: ознайомлення з утилітами системи Unix. |