Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VIRTUALBOX+ОС_МЕТОДИЧКА / ОССиО_методичка.doc
Скачиваний:
132
Добавлен:
16.03.2015
Размер:
506.88 Кб
Скачать

2. Сортировка, фильтрация и условное отображение содержимого файлов

1. Прочитайте справку по команде sort . Создайте в своем каталоге файл dirfile , содержимое которого образовано командой ls –l .

2. Для сортировки файлов по типу, признак которого находится в первой колонке вывода введите команду:

sort –k1.1,1.1 dirfile .

3. Введите команду: sort –k1.2,1.2 dirfile . Проанализируйте назначение и действие всех параметров в обоих командных выражениях.В чем отличия? Попытайтесь объяснить, по какому принципу происходила сортировка?

4. Попытайтесь отсортировать содержимое этого файла по количеству ссылок (это столбец № 2). Для этого в качестве числовых аргументов параметра k используйте в первом выражении значение 2.1, а в следующем: 2.2 . Проанализируйте работу обоих командных выражений, сравните их с предыдущими, проверьте правильность их выполнения.

В некоторых случаях результаты сортировки могут оказаться неверными. В этой ситуации используют дополнительный параметр n (см. справку). В частности, это относится к числовым значениям.

5. Введите командное выражение:

sort -k2.2n dirfile . Проанализируйте работу этого выражения. По какому признаку произвелась сортировка? В каких случаях нужен дополнительный параметр n ?

При сортировке можно комбинировать параметры k и n . Например, для сортировки файла сначала по типу, а потом по количеству ссылок выполните следующий пункт.

6. Введите выражение: sort –k1.1,1.1 -k2.2n dirfile.

7. Отсортируйте содержимое файла по размеру в порядке возрастания (столбец № 5). В следующей строке вместо дополнительного параметра n используйте rn. Что получилось в результате использования этого параметра?

8. Попытайтесь отсортировать содержимое файла по дате (столбцы № 6 и 7) в порядке возрастания. Имейте ввиду, что столбец № 6 – текстовое поле, а столбец № 7 – числовое поле. Синтаксис здесь примерно следующий:

sort -k6… -k7… имя_файла (вместо … возможно, понадобятся дополнительные параметры).

Команда uniq удалаяет дублирующиеся строки из отсортированного файла. Для более подробной информации ознакомьтесь со справкой по этой команде.

9. Создайте файл uniq.fiie со следующим содержимым:

1

1

1

2

2

3

4

4

5

5

6

6

6

7

8

88

8

8

9

1

и просмотрите его содержимое обычным способом.

10. Примените к файлу команду uniq и сравните результат с обычным просмотром файла.

11. Введите команду для сортировки содержимого файла uniq.fiie , но в конце выражения добавьте параметр | uniq . Сравните результаты, полученные в этом и предыдущем пунктах.

12. Запишите результат работы команды сортировки (см. предыдущий пункт) в файл uniq.sort . Убедитесь в том, что файл содержит нужную информацию.

13. Примените команду uniq к файлу uniq.sort , но с ключом, который выводит число повторяющихся строк (см. справку).

Команда split делит файл на фрагменты заданного размера. Синтаксис команды для разделения файла на заданное количество частей:

split -l N имя_исходного_файла имя_разделенного_файла ,

где N – количество частей разделенного файла.

14. Разделите файл dirfile , например, на 10 частей с именами dirfile… Просмотрите содержимое своего каталога. Какие имена присвоены фрагментам файла?

15. Попытайтесь создать 10 аналогичных частей, но с именами dirfile00, dirfile01 и т.д. Для создания числового суффикса в имени файла понадобится еще один дополнительный ключ перед l (см. справку по команде split). Выясните размер исходного файла и фрагментов.

16. Разбейте файл dirfile на фрагменты, размером, например, по 100 байт. Для этого вместо ключа -l используется ключ -b , после которого указывается размер в байтах. Просмотрите содержимое вашего каталога.

Примечание: Естественно, что если нужно присвоить фрагментам числовые суффиксы, то нужно использовать ключ -db .

17. Введите командное выражение:

split -dС 100 dirfile dirfile (С – заглавная). Просмотрите содержимое нескольких фрагментов файла и сделайте вывод о том, что делает ключ С и почему не у все фрагментов размер равен 100 байт.

Команда cut – выводит на экран из текстового файла поля в соответствии с заданным условием.

18. Введите выражение cut -b1-10 dirfile . Вы увидите на экране только первые 10 байт каждой строчки - права файлов. Повторите это же выражение, но с ключом с . Сравните результаты. Для чего нужен параметр с ?

Команда grep - выбирает из файла строки, содержащие заданный шаблон. Синтаксис в простейшем виде:

grep шаблон имя_файла.

19. Определите, есть ли в вашем списке (в файле dirfile) файлы, созданные, например, в апреле. Для этого выполните командное выражение:

grep Апр dirfile

Примечание: если ваша консоль не русифицирована, то потребуется ввести в данном случае Apr или April.

20. Используя соответствующий ключ, выведите на экран количество строк, содержащих слово Апр(т.е. количество строк, совпадающих с шаблоном). Проверьте правильность выполнения команды.

21. Используя другой ключ, отобразите номера строк (вместе с самими строками), в которых присутствует данный шаблон.

22. Введите командное выражение:

grep -ld skip Апр * . Ниже повторите это же выражение, но вместоskip используйтеrecurse. Проанализируйте работу этих выражений.Для чего нужны параметры – l и – d ? В каких случаях нужно использовать дополнительный оператор skip или recurse ?

23. Из файла dirfile отобразите строки, не подходящие под шаблон Апр. Нужный ключ см. в справке.

Шаблоны для поиска текстовых строк можно не только вводить вручную с клавиатуры, но записывать в файлы, а затем их использовать по мере необходимости. Для этого выполните следующие действия:

24. Создайте файл pattern с единственной строкойАпр .

25. Для использования созданного шаблона введите выражение:

grep -f pattern dirfile . Ниже повторите данное выражение, но с использованием ключа-Нf и проанализируйте результат.

8.1. Создайте файл fruit , в котором перечислены 5-6 фруктов не алфавитном порядке (вразброс). Используя команду sort записать в файл fruitsort названия фруктов, отсортированных в алфавитном порядке по первой букве.

8.2. Аналогичным образом запишите в файл fruitsort2 названия фруктов, отсортированных в алфавитном порядке по второй букве.

8.3. Выведите в обратном порядке содержимое вашего рабочего каталога.

Примечание: здесь потребуется оператор канала | .

к лаб. 9.

1.*. С помощью команды wc совместно с другими определите:

а). число файлов в вашем домашнем каталоге;

б). число файлов в каталоге /usr, имеющих расширение с .

Примечание: для передачи результатов выполнения от одной команды к команде wc потребуется оператор канала | .

Лабораторная работа № 12 – Управление правами доступа к файлам. Многозадачность и процессы. Получение основной информации о рабочей среде.

Цель работы:изучить команды управления правами доступа к файлам, задачами и процессами, а также команды, предоставляющие некоторую информацию о рабочей среде.

Соседние файлы в папке VIRTUALBOX+ОС_МЕТОДИЧКА