русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Необходимые команды


Дата добавления: 2013-12-23; просмотров: 864; Нарушение авторских прав


Лабораторная работа №9. Фильтры, обработка текстовых данных

Ход работы

1. Выведите краткую информацию о всех блок-ориентированных файлах каталога /dev в файл devinfo домашнего каталога. Добавьте в конец этого файла полную информацию об этих устройствах.

2. Выведите только имена файлов домашнего каталога в файл lstest. Используя перенаправление ввода, просмотрите информацию о дисковом пространстве, которое занимает каждый файл, имя которого записано в файле lstest.

3. Определите количество файлов, с именем README, находящихся в файловом дереве, начиная с каталога /usr/share/doc. (Указание: используйте команду wc).

4. Используя группировку команд, выведите в файл diffhelp справочные данные, получаемые по команде man, о командах find, egrep и chmod. Просмотрите файл diffhelp в постраничном режиме.

5. Осуществите поиск всех файлов в файловом дереве, начиная с каталога /usr/lib, с выводом информации в файл lib_info и выводом ошибок на фиктивное устройство.

6. Осуществите в файловом дереве, начиная с каталога /usr/lib, поиск файлов, имя которых начинается на n или m, с выводом информации в файл lib_info2 и выводом ошибок в файл lib_error.

 

 

Цель работы: освоить приемы обработки строк текстовых файлов.

 

sort [ключи] [файл(ы)] — сортирует строки текстовых файлов и отправляет результат на стандартный вывод. Если файлов несколько, то они объединяются. Некоторые ключи:

-b — игнорировать пробелы в начале сортируемых полей или ключей;

-f — сортировка, нечувствительная к регистру;

-r — сортировка в обратном порядке;

-o файл — вывод результата в указанный файл;

-n — числовая сортировка (используется совместно с ключом -b).

tr [ключи] строка1 [строка2] — выполняет подстановку, замену, сокращение или удаление символов, поступающих со стандартного ввода и отправляет результат на стандартный вывод. Обычно эта команда имеет два аргумента: между наборами символов строка1 и строка2 устанавливается соответствие, после чего происходит замена набора строка1 на строка2. Некоторые ключи:



-d — удаляет символы, перечисленные в наборе строка1;

-s — заменяет несколько одинаковых подряд идущих символов на один такой же.

Если строка2 короче строки1, то строка2 удлиняется до длины строки1 повторением своего последнего символа. Лишние символы строки2 игнорируются. Строка1 и строка2 должны быть только диапазонами и последовательностями символов, либо отдельными символами:

символ1-символ2 — диапазон символов (без квадратных скобок!);

[:almun:] — все буквы и цифры;

[:alpha:] — все буквы;

[:cntrl:] — все управляющие символы;

[:digit:] — все цифры;

[:lower:] — все буквы нижнего регистра:

[:upper:] — все буквы ВЕРХНЕГО регистра.

[:graph:] — все печатаемые символы, исключая пробел;

[:print:] — все печатаемые символы, включая пробел.

Примеры:

tr -s "[:alpha:]" < file.in > file.out — устранение повторяющихся букв в файле file.in и запись результата в файл file.out.

tr "a-k" "a-d" < file.in > file.out — все символы с e по k будут заменены на символ d (вторая строка была расширена).

cut [опции] [файл] — выделяет части строк текста (столбцы) из каждого файла и отправляет в стандартный поток вывода. Часть строк определяется либо по смещению в символах, либо по разделителям. Если файл не указан, данные поступают со стандартного ввода. Список опций:

-f список — выводит только столбцы (поля), указанные в списке. Список представляет один или более номеров символов или диапазонов, разделенных запятой, например, 7-10,15,40-50;

-d разделитель — задает разделитель колонок (полей) входного файла. Применяется совместно с ключом -f. Разделитель должен быть одним символом;

-c список — выводит только символы из позиций, указанных в списке. Формат задания списков аналогичен ключу -f.

Примеры:

cut -f 3-5 myfile — вывод с 3 по 5 поле каждой строки файла myfile.

cut -d ":" -f 2,4 myfile — вывод 2 и 4 полей каждой строки файла myfile, в котором разделителем является двоеточие.

 

Ход работы

1. Сформируйте файл user_list, в котором содержится информация о всех зарегистрированных в системе пользователях (воспользуйтесь командой who). Сформируйте файл user_list_sort, содержащий отсортированные в обратном порядке данные о пользователях.

2. Выведите на экран файл user_list_sort с преобразованием символов в верхний регистр.

3. Создайте файл path_list, содержащий список полных путей к файлам домашнего каталога. Сформируйте файл path_list_changed, в котором символ / заменен на символ \.

4. Выведите на экран файл path_list, убрав все гласные буквы.

5. Выведите на экран файл path_list, заменив все гласные буквы на символ *.

6. Выполните команду, аналогичную предыдущему пункту с удалением повторяющихся символов.

7. Создайте файл size_list, содержащий данные о размерах файлов домашнего каталога, отсортированных по возрастанию размера.

8. Используя совместно команды ls, tr и cut, выведите на экран данные о файлах текущей директории в виде

права_доступа имя время_создания.

 



<== предыдущая лекция | следующая лекция ==>
Лабораторная работа №8. Перенаправление стандартных потоков, конвейеры | Ход работы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.