Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота 5.doc
Скачиваний:
5
Добавлен:
13.08.2024
Размер:
135.17 Кб
Скачать
      1. Завдання назв файлів

У більшості сучасних операційних систем, у тому числі і Linux, можна використовувати при завданні імен файлів шаблони (wild cards). Використовують такі шаблони:

Символ

Значення

*

Довільний набір символів, крім крапки на початку назви файлу

?

Довільний одиночний символ

[]

Один символ з визначеного діапазону символів

Символ * (зірочка)- це один з найбільш часто вживаних символів – шаблонів. Він визначає довільну кількість довільних символів. Наприклад, рядок b* означає усі файли, назви яких починаються на b. В одному виразі можна використовувати стільки зірочок, скільки потрібно для визначення потрібної множини файлів. Наприклад, вираз *yy*.gif відповідає довільній назві файлу, що має yy в центральній частині свого імені.

Треба бути уважним при використанні символу пробілу та *. Наприклад, команди lp *.txt та lp * txt будуть опрацьовані системою по-різному. Перша команда виведе на друк усі файли біжучого каталогу, що мають розширення txt. Натомість друга команда, в якій між символами * та t є пробіл сприйме введене як два різні аргументи (* та txt). Відповідно, будуть виведені на друк усі файли каталогу (*) та файл, що має назву txt.

При виводі файлів з використанням символу * є одна особливість. Файли, назви яких починаються з крапки (які також чспсто вважають прихованими файлами) не відображаються. Для їх відображення необхідно явно задати крапку в імені. Наприклад, файл з іменем .reportrc може бути відображено, якщо використати таку команду:

ls .*rep*

Символ ? використовують для позначення окремого символа. Нехай у робочому каталозі є файли report1, report2, report10, report.dft, report.fin

Варіанти застосування символу шаблону ? та результуючий вивід подано у таблиці

Команда

Результат

ls report?

report1

report2

ls *.???

report.dft

report.fin

Вираз [] використовують для завдання певного діапазону символів. Нехай на диску існують файли rep1,rep2,rep3, repx. Необхідно вибрати перші три. Для цього можна застосувати шаблон імені job[123]

Вивести усі назви файлів, що починаються з великої букви можна застосувавши такий вираз:

ls [A-Z]*

Нехай є файли з назвами sales.91, sales.92, sales.93. Їх потрібно перенести у каталог obsolete. Використовуючи символи шаблонів це можна зробити таким чином:

ср sales.9[0-2] obsolete

Як і символ шаблону ? цифри у квадратних дужках [] означають рівно один символ. Можна перерахувати допустимі символи [123], або вказати діапазон їх значень [1-2]. Можна також вказати декілька діапазонів. Наприклад, вираз [A-Z, a-z] відповідає усім буквам алфавіту.

      1. Передавання даних між процесами з використанням каналів (pipes)

Інколи буває необхідно використовувати вихідні дані однієї програми як вхідні для іншої. Замість того, щоб зберігати їх у проміжних файлах, можна використати механізм програмних каналів. Наприклад, щоб відсортувати файл sales, а потім роздрукувати його, можна використати таку команду:

sort sales | lp

Символ операції зв”язування каналом (|) ставиться між відповідними командами, що зв”язуються. Використовуючи цей символ, можна зв”язати і декілька команд.

Наприклад, наступна команда бере список файлів, назви яких починаються з sales, сортує їх та виводить результат на друк.

cat sales* | sort | lp